summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2015-04-09 11:41:06 +0100
committerVincent Sanders <vince@kyllikki.org>2015-04-09 11:41:06 +0100
commitae98fbe8c81712746073d10e328b02bfb454fda8 (patch)
tree492080c70509972b6ce894ff942007b3fd572d81 /gtk
parent5a14a74ab193c1252cac62a94e019747aaad9d99 (diff)
downloadnetsurf-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.
Diffstat (limited to 'gtk')
-rw-r--r--gtk/compat.c27
-rw-r--r--gtk/compat.h7
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)