diff options
author | Vincent Sanders <vince@kyllikki.org> | 2015-04-09 11:41:06 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2015-04-09 11:41:06 +0100 |
commit | ae98fbe8c81712746073d10e328b02bfb454fda8 (patch) | |
tree | 492080c70509972b6ce894ff942007b3fd572d81 | |
parent | 5a14a74ab193c1252cac62a94e019747aaad9d99 (diff) | |
download | netsurf-ae98fbe8c81712746073d10e328b02bfb454fda8.tar.gz netsurf-ae98fbe8c81712746073d10e328b02bfb454fda8.tar.bz2 |
Only define compatability helpers for sexy icons if required.
The helper nsgtk_widget_get_state is only necessary for sexy icons and
introduces unecessary GTK 3 compatability issues otehrwise.
-rw-r--r-- | gtk/compat.c | 27 | ||||
-rw-r--r-- | gtk/compat.h | 7 |
2 files changed, 23 insertions, 11 deletions
diff --git a/gtk/compat.c b/gtk/compat.c index 0dea5aa31..c41a05e9c 100644 --- a/gtk/compat.c +++ b/gtk/compat.c @@ -25,8 +25,24 @@ #include "gtk/compat.h" -#if !GTK_CHECK_VERSION(2,16,0) +#ifdef _SEXY_ICON_ENTRY_H_ #include "gtk/sexy_icon_entry.c" + +/* + * exported interface documented in gtk/compat.h + * + * Only required for the lib sexy interface before 2.16 + */ +GtkStateType nsgtk_widget_get_state(GtkWidget *widget) +{ +#if GTK_CHECK_VERSION(2,18,0) + return gtk_widget_get_state(widget); +#else + return GTK_WIDGET_STATE(widget); +#endif +} + + #endif void nsgtk_widget_set_can_focus(GtkWidget *widget, gboolean can_focus) @@ -86,15 +102,6 @@ gboolean nsgtk_widget_is_drawable(GtkWidget *widget) #endif } -GtkStateType nsgtk_widget_get_state(GtkWidget *widget) -{ -#if GTK_CHECK_VERSION(2,18,0) - return gtk_widget_get_state(widget); -#else - return GTK_WIDGET_STATE(widget); -#endif -} - void nsgtk_dialog_set_has_separator(GtkDialog *dialog, gboolean setting) { #if GTK_CHECK_VERSION(2,21,8) diff --git a/gtk/compat.h b/gtk/compat.h index d64427645..0947b7970 100644 --- a/gtk/compat.h +++ b/gtk/compat.h @@ -68,19 +68,24 @@ gboolean nsgtk_widget_get_visible(GtkWidget *widget); gboolean nsgtk_widget_get_realized(GtkWidget *widget); gboolean nsgtk_widget_get_mapped(GtkWidget *widget); gboolean nsgtk_widget_is_drawable(GtkWidget *widget); -GtkStateType nsgtk_widget_get_state(GtkWidget *widget); void nsgtk_dialog_set_has_separator(GtkDialog *dialog, gboolean setting); GtkWidget *nsgtk_combo_box_text_new(void); void nsgtk_combo_box_text_append_text(GtkWidget *combo_box, const gchar *text); gchar *nsgtk_combo_box_text_get_active_text(GtkWidget *combo_box); + +/* GTK prior to 2.16 needs the sexy interface for icons */ #if !GTK_CHECK_VERSION(2,16,0) + #include "gtk/sexy_icon_entry.h" typedef enum { GTK_ENTRY_ICON_PRIMARY = SEXY_ICON_ENTRY_PRIMARY, GTK_ENTRY_ICON_SECONDARY = SEXY_ICON_ENTRY_SECONDARY } GtkEntryIconPosition; + +GtkStateType nsgtk_widget_get_state(GtkWidget *widget); + #endif #if GTK_CHECK_VERSION (2, 90, 7) |