diff options
author | infirit <[email protected]> | 2014-11-22 18:30:38 +0100 |
---|---|---|
committer | infirit <[email protected]> | 2014-11-22 18:43:04 +0100 |
commit | 232713d42e79c519cfb060bb286e4cd600678559 (patch) | |
tree | 10f856f9c23aef8c83a107f457f6864b548f5e2c /mate-panel/button-widget.c | |
parent | 1b0b03e09e3910280c1734475f0b0ac4122fcfca (diff) | |
download | mate-panel-232713d42e79c519cfb060bb286e4cd600678559.tar.bz2 mate-panel-232713d42e79c519cfb060bb286e4cd600678559.tar.xz |
Gtk3: Sync get_preferred_width/height() usage with gnome-panel
Even tough it works it makes taking code (eg StyleContext)
from gnome-panel much easier.
Also fixes a bug where applets are not drawn when moved/added.
Diffstat (limited to 'mate-panel/button-widget.c')
-rw-r--r-- | mate-panel/button-widget.c | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/mate-panel/button-widget.c b/mate-panel/button-widget.c index 8f2d4483..faea383f 100644 --- a/mate-panel/button-widget.c +++ b/mate-panel/button-widget.c @@ -645,37 +645,37 @@ button_widget_expose (GtkWidget *widget, } #endif -static void -button_widget_size_request (GtkWidget *widget, - GtkRequisition *requisition) -{ - ButtonWidget *button_widget = BUTTON_WIDGET (widget); - - if (button_widget->priv->pixbuf) { - requisition->width = gdk_pixbuf_get_width (button_widget->priv->pixbuf); - requisition->height = gdk_pixbuf_get_height (button_widget->priv->pixbuf); - } -} - #if GTK_CHECK_VERSION (3, 0, 0) static void button_widget_get_preferred_width (GtkWidget *widget, - gint *minimum_width, + gint *minimal_width, gint *natural_width) { - GtkRequisition req; - button_widget_size_request (widget, &req); - *minimum_width = *natural_width = req.width; + ButtonWidget *button_widget = BUTTON_WIDGET (widget); + + *minimal_width = *natural_width = gdk_pixbuf_get_width (button_widget->priv->pixbuf); } static void button_widget_get_preferred_height (GtkWidget *widget, - gint *minimum_height, + gint *minimal_height, gint *natural_height) { - GtkRequisition req; - button_widget_size_request (widget, &req); - *minimum_height = *natural_height = req.height; + ButtonWidget *button_widget = BUTTON_WIDGET (widget); + + *minimal_height = *natural_height = gdk_pixbuf_get_height (button_widget->priv->pixbuf); +} +#else +static void +button_widget_size_request (GtkWidget *widget, + GtkRequisition *requisition) +{ + ButtonWidget *button_widget = BUTTON_WIDGET (widget); + + if (button_widget->priv->pixbuf) { + requisition->width = gdk_pixbuf_get_width (button_widget->priv->pixbuf); + requisition->height = gdk_pixbuf_get_height (button_widget->priv->pixbuf); + } } #endif @@ -845,17 +845,14 @@ button_widget_class_init (ButtonWidgetClass *klass) #if GTK_CHECK_VERSION (3, 0, 0) widget_class->get_preferred_width = button_widget_get_preferred_width; widget_class->get_preferred_height = button_widget_get_preferred_height; + widget_class->draw = button_widget_draw; #else widget_class->size_request = button_widget_size_request; + widget_class->expose_event = button_widget_expose; #endif widget_class->button_press_event = button_widget_button_press; widget_class->enter_notify_event = button_widget_enter_notify; widget_class->leave_notify_event = button_widget_leave_notify; -#if GTK_CHECK_VERSION (3, 0, 0) - widget_class->draw = button_widget_draw; -#else - widget_class->expose_event = button_widget_expose; -#endif button_class->activate = button_widget_activate; |