# HG changeset patch # User nadvornik # Date 1240901699 0 # Node ID ee2b66a09a03a630f0cc9b2bec58e8084c4fe84f # Parent 007d54b763cda3ad1bad06ac2dc81c1907674cec compilation fixes for older glib and gtk diff -r 007d54b763cd -r ee2b66a09a03 src/bar_exif.c --- a/src/bar_exif.c Mon Apr 27 23:07:59 2009 +0000 +++ b/src/bar_exif.c Tue Apr 28 06:54:59 2009 +0000 @@ -235,16 +235,12 @@ g_signal_handlers_block_by_func(ee->value_widget, bar_pane_exif_entry_changed, ee); gtk_entry_set_text(GTK_ENTRY(ee->value_widget), text ? text : ""); g_signal_handlers_unblock_by_func(ee->value_widget, bar_pane_exif_entry_changed, ee); -#if GTK_CHECK_VERSION(2,12,0) gtk_widget_set_tooltip_text(ee->box, NULL); -#endif } else { gtk_label_set_text(GTK_LABEL(ee->value_widget), text); -#if GTK_CHECK_VERSION(2,12,0) gtk_widget_set_tooltip_text(ee->box, text); -#endif } gtk_widget_show(entry); ped->all_hidden = FALSE; diff -r 007d54b763cd -r ee2b66a09a03 src/compat.c --- a/src/compat.c Mon Apr 27 23:07:59 2009 +0000 +++ b/src/compat.c Tue Apr 28 06:54:59 2009 +0000 @@ -35,4 +35,24 @@ } #endif } + +#if !GLIB_CHECK_VERSION(2, 14, 0) +static void hash_table_add(gpointer key, gpointer value, gpointer user_data) +{ + GList **list = user_data; + *list = g_list_prepend(*list, key); +} +#endif + +GList* hash_table_get_keys(GHashTable *hash_table) +{ +#if GLIB_CHECK_VERSION(2, 14, 0) + return g_hash_table_get_keys(hash_table); +#else + GList *list = NULL; + g_hash_table_foreach(hash_table, hash_table_add, &list); + return list; +#endif +} + /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */ diff -r 007d54b763cd -r ee2b66a09a03 src/compat.h --- a/src/compat.h Mon Apr 27 23:07:59 2009 +0000 +++ b/src/compat.h Tue Apr 28 06:54:59 2009 +0000 @@ -14,6 +14,12 @@ #define COMPAT_H void radio_action_set_current_value(GtkRadioAction *action, gint current_value); +GList* hash_table_get_keys(GHashTable *hash_table); + +#if !GTK_CHECK_VERSION(2,12,0) +#define gtk_widget_set_tooltip_text(widget, text) /* ignored */ +#endif + #endif /* COMPAT_H */ /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */ diff -r 007d54b763cd -r ee2b66a09a03 src/main.h --- a/src/main.h Mon Apr 27 23:07:59 2009 +0000 +++ b/src/main.h Tue Apr 28 06:54:59 2009 +0000 @@ -57,6 +57,7 @@ #include #include +#include "compat.h" /* *---------------------------------------------------------------------------- diff -r 007d54b763cd -r ee2b66a09a03 src/utilops.c --- a/src/utilops.c Mon Apr 27 23:07:59 2009 +0000 +++ b/src/utilops.c Tue Apr 28 06:54:59 2009 +0000 @@ -1834,7 +1834,7 @@ if (fd && fd->modified_xmp) { - keys = g_hash_table_get_keys(fd->modified_xmp); + keys = hash_table_get_keys(fd->modified_xmp); } g_assert(keys);