[geany/geany] d9c7f5: Improve GTK compatibility macros for GTK 2.16

Enrico Tröger git-noreply at xxxxx
Tue Mar 19 13:17:25 UTC 2013


Branch:      refs/heads/master
Author:      Enrico Tröger <enrico.troeger at uvena.de>
Committer:   Enrico Tröger <enrico.troeger at uvena.de>
Date:        Tue, 19 Mar 2013 13:17:25 UTC
Commit:      d9c7f59b4187d3b24deae12865fafb5841029b36
             https://github.com/geany/geany/commit/d9c7f59b4187d3b24deae12865fafb5841029b36

Log Message:
-----------
Improve GTK compatibility macros for GTK 2.16

On GTK 2.16 GTK_WIDGET_[UN]SET_FLAGS resolves to a do-while construct which
raises a syntax error when embedded into a ? operator.
Also gtk_widget_get_visible() is only available since GTK 2.18, so add a fallback to
the old variant.


Modified Paths:
--------------
    src/gtkcompat.h

Modified: src/gtkcompat.h
6 files changed, 5 insertions(+), 1 deletions(-)
===================================================================
@@ -73,13 +73,17 @@
 /* GtkWidget */
 #if ! GTK_CHECK_VERSION(2, 18, 0)
 #	define compat_widget_set_flag(widget, flag, enable) \
-		((enable) ? GTK_WIDGET_SET_FLAGS((widget), (flag)) : GTK_WIDGET_UNSET_FLAGS((widget), (flag)))
+		if ((enable)) \
+			GTK_WIDGET_SET_FLAGS((widget), (flag)); \
+		else \
+			GTK_WIDGET_UNSET_FLAGS((widget), (flag));
 #	define gtk_widget_set_can_default(widget, can_default) \
 		compat_widget_set_flag((widget), GTK_CAN_DEFAULT, (can_default))
 #	define gtk_widget_is_toplevel(widget)		GTK_WIDGET_TOPLEVEL(widget)
 #	define gtk_widget_is_sensitive(widget)		GTK_WIDGET_IS_SENSITIVE(widget)
 #	define gtk_widget_has_focus(widget)			GTK_WIDGET_HAS_FOCUS(widget)
 #	define gtk_widget_get_sensitive(widget)		GTK_WIDGET_SENSITIVE(widget)
+#	define gtk_widget_get_visible(widget)		GTK_WIDGET_VISIBLE(widget)
 #	define gtk_widget_set_has_window(widget, has_window) \
 		compat_widget_set_flag((widget), GTK_NO_WINDOW, !(has_window))
 #	define gtk_widget_set_can_focus(widget, can_focus) \



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list