Make lxpanel_plugin_button_press_event() static - plugins should never need it.
authorAndriy Grytsenko <andrej@rep.kiev.ua>
Fri, 15 Aug 2014 23:08:04 +0000 (02:08 +0300)
committerAndriy Grytsenko <andrej@rep.kiev.ua>
Sat, 16 Aug 2014 16:23:41 +0000 (19:23 +0300)
If plugin handles clicks on child widget then it can easily pass the click
just returning FALSE so GDK event handler will pass it to the parent.

src/plugin.c
src/plugin.h

index ab16299..8b5286d 100644 (file)
@@ -277,7 +277,7 @@ void plugin_widget_set_background(GtkWidget * w, LXPanel * panel)
 
 /* Handler for "button_press_event" signal with Plugin as parameter.
  * External so can be used from a plugin. */
-gboolean lxpanel_plugin_button_press_event(GtkWidget *plugin, GdkEventButton *event, LXPanel *panel)
+static gboolean lxpanel_plugin_button_press_event(GtkWidget *plugin, GdkEventButton *event, LXPanel *panel)
 {
     if (event->button == 3 && /* right button */
         (event->state & gtk_accelerator_get_default_mod_mask()) == 0) /* no key */
index a1c42e4..860e45c 100644 (file)
@@ -66,10 +66,9 @@ G_BEGIN_DECLS
  * own subwidgets appropriately to new geometry.
  *
  * Callback @button_press_event is a handler for "button-press-event"
- * signal on the plugin instance. If this callback is not set then only
- * lxpanel_plugin_button_press_event() will be used. Note that callback
- * will never receive right-clicks without modifier because mentioned
- * lxpanel_plugin_button_press_event() handles it.
+ * signal on the plugin instance. This callback would never receive any
+ * right-clicks without modifier keys because panel itself will handle it
+ * showing context menu.
  *
  * Callback @show_system_menu is called when lxpanel received a message
  * by 'lxpanelctl menu' command. It will be sent to each instance if more
@@ -140,8 +139,6 @@ extern gboolean lxpanel_register_plugin_type(const char *name, LXPanelPluginInit
 
 /* few helper functions */
 extern GtkMenu* lxpanel_get_plugin_menu(LXPanel* panel, GtkWidget* plugin, gboolean use_sub_menu);
-extern gboolean lxpanel_plugin_button_press_event(GtkWidget *plugin, GdkEventButton *event, LXPanel *panel);
-                       /* Handler for "button-press-event" signal on plugin */
 extern void lxpanel_plugin_adjust_popup_position(GtkWidget * popup, GtkWidget * plugin);
                        /* Helper to move popup windows away from the panel */
 extern void lxpanel_plugin_popup_set_position_helper(LXPanel * p, GtkWidget * near, GtkWidget * popup, gint * px, gint * py);