diff -r 2a390d401448 -r 2a4179d0177d pidgin/gtk3compat.h --- a/pidgin/gtk3compat.h Tue Nov 11 00:54:39 2014 -0500 +++ b/pidgin/gtk3compat.h Mon Nov 10 23:54:06 2014 -0500 @@ -123,6 +123,28 @@ gtk_widget_set_vexpand(child, TRUE); } +static inline void +gtk_grid_attach_full(GtkGrid *grid, GtkWidget *child, guint left, guint top, + guint width, guint height, GtkAttachOptions xoptions, + GtkAttachOptions yoptions, guint xpadding, guint ypadding) +{ + gtk_grid_attach(grid, child, left, top, width, height); + + if (xoptions & GTK_EXPAND) + gtk_widget_set_hexpand(child, TRUE); + if (!(xoptions & GTK_FILL)) + gtk_widget_set_halign(child, GTK_ALIGN_CENTER); + gtk_widget_set_margin_left(child, xpadding); + gtk_widget_set_margin_right(child, xpadding); + + if (yoptions & GTK_EXPAND) + gtk_widget_set_vexpand(child, TRUE); + if (!(yoptions & GTK_FILL)) + gtk_widget_set_valign(child, GTK_ALIGN_CENTER); + gtk_widget_set_margin_top(child, ypadding); + gtk_widget_set_margin_bottom(child, ypadding); +} + #else /* 3.0.0 and gtk_grid_ */ #define GTK_GRID GTK_TABLE @@ -154,6 +176,15 @@ top, top + height); } +static inline void +gtk_grid_attach_full(GtkGrid *grid, GtkWidget *child, guint left, guint top, + guint width, guint height, GtkAttachOptions xoptions, + GtkAttachOptions yoptions, guint xpadding, guint ypadding) +{ + gtk_table_attach(grid, child, left, left + width, top, top + height, + xoptions, yoptions, xpadding, ypadding); +} + #endif /* 3.0.0 and gtk_grid_ */