Merge lp:~dbusmenu-team/ubuntu/precise/libdbusmenu/upstream into lp:~ubuntu-desktop/libdbusmenu/ubuntu

Proposed by Ted Gould
Status: Merged
Merged at revision: 178
Proposed branch: lp:~dbusmenu-team/ubuntu/precise/libdbusmenu/upstream
Merge into: lp:~ubuntu-desktop/libdbusmenu/ubuntu
Diff against target: 417 lines (+88/-78)
12 files modified
AUTHORS (+1/-0)
ChangeLog (+36/-0)
configure (+11/-11)
configure.ac (+3/-3)
debian/changelog (+9/-0)
docs/libdbusmenu-glib/reference/html/ch01.html (+1/-1)
docs/libdbusmenu-glib/reference/version.xml (+1/-1)
docs/libdbusmenu-gtk/reference/html/ch01.html (+1/-1)
docs/libdbusmenu-gtk/reference/version.xml (+1/-1)
libdbusmenu-glib/client.c (+12/-0)
libdbusmenu-gtk/client.c (+12/-9)
libdbusmenu-gtk/parser.c (+0/-51)
To merge this branch: bzr merge lp:~dbusmenu-team/ubuntu/precise/libdbusmenu/upstream
Reviewer Review Type Date Requested Status
Ken VanDine Pending
Review via email: mp+98716@code.launchpad.net

Description of the change

0.5.95

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'AUTHORS'
--- AUTHORS 2012-02-23 06:00:41 +0000
+++ AUTHORS 2012-03-21 19:38:20 +0000
@@ -5,6 +5,7 @@
5 Ara Pulido 5 Ara Pulido
6 Aurelien Gateau 6 Aurelien Gateau
7 Aurélien Gâteau 7 Aurélien Gâteau
8 Charles Kerr
8 Chris Coulson 9 Chris Coulson
9 Cody Russell 10 Cody Russell
10 David Barth 11 David Barth
1112
=== modified file 'ChangeLog'
--- ChangeLog 2012-03-09 20:21:04 +0000
+++ ChangeLog 2012-03-21 19:38:20 +0000
@@ -1,5 +1,41 @@
1# Generated by Makefile. Do not edit.1# Generated by Makefile. Do not edit.
22
32012-03-21 Ted Gould <ted@gould.cx>
4
5 0.5.95
6
72012-03-21 Charles Kerr <charles.kerr@canonical.com>
8
9 merge lp:~charlesk/dbusmenu/lp-953509 to fix a crash in dbusmenu-gtk's handling of menu icon theme changes
10
112012-03-21 Charles Kerr <charles.kerr@canonical.com>
12
13 Don't listen for "changed" events from the screen's default GtkIconTheme. Fixes lp bug #953509
14
15 The crash in #953509 was being caused by the last two lines of theme_changed_cb() (a) leaving a dangling handler id in priv.theme_changed_sig, and (b) not remembering the handler id of its own signal connection. However after testing I don't see any reason to keep any of the theme handling code at all.
16
17 "But wait," you say. "How will our menu icons follow the theme changes?" It works in practice anyway because we always listen for property changes to our reference GtkImage, **and** we listen for property changes to its GtkImageMenuItem parent so that if the GtkImageMenuItem changes GtkImages we can stop listening to the old one and start listening to the new one.
18
192012-03-20 Charles Kerr <charles.kerr@canonical.com>
20
21 merge lp:~ted/dbusmenu/regex_merge to fix a warning that comes up a lot with unity-panel-service about not having a label.
22
232012-03-20 Ted Gould <ted@gould.cx>
24
25 Fix string leak
26
272012-03-20 Ted Gould <ted@gould.cx>
28
29 Handle the case of the label being NULL which can happen on custom items
30
312012-03-20 Ted Gould <ted@gould.cx>
32
33 Don't ask for a reply if no one cares
34
352012-03-16 Ryan Lortie <desrt@desrt.ca>
36
37 glib client: don't request a reply on send_event() if nobody is listening for it
38
32012-03-09 Ted Gould <ted@gould.cx>392012-03-09 Ted Gould <ted@gould.cx>
440
5 0.5.9441 0.5.94
642
=== modified file 'configure'
--- configure 2012-03-09 20:25:35 +0000
+++ configure 2012-03-21 19:38:20 +0000
@@ -1,6 +1,6 @@
1#! /bin/sh1#! /bin/sh
2# Guess values for system-dependent variables and create Makefiles.2# Guess values for system-dependent variables and create Makefiles.
3# Generated by GNU Autoconf 2.68 for libdbusmenu 0.5.94.3# Generated by GNU Autoconf 2.68 for libdbusmenu 0.5.95.
4#4#
5# Report bugs to <ted@canonical.com>.5# Report bugs to <ted@canonical.com>.
6#6#
@@ -572,8 +572,8 @@
572# Identity of this package.572# Identity of this package.
573PACKAGE_NAME='libdbusmenu'573PACKAGE_NAME='libdbusmenu'
574PACKAGE_TARNAME='libdbusmenu'574PACKAGE_TARNAME='libdbusmenu'
575PACKAGE_VERSION='0.5.94'575PACKAGE_VERSION='0.5.95'
576PACKAGE_STRING='libdbusmenu 0.5.94'576PACKAGE_STRING='libdbusmenu 0.5.95'
577PACKAGE_BUGREPORT='ted@canonical.com'577PACKAGE_BUGREPORT='ted@canonical.com'
578PACKAGE_URL=''578PACKAGE_URL=''
579579
@@ -1437,7 +1437,7 @@
1437 # Omit some internal or obsolete options to make the list less imposing.1437 # Omit some internal or obsolete options to make the list less imposing.
1438 # This message is too long to be a string in the A/UX 3.1 sh.1438 # This message is too long to be a string in the A/UX 3.1 sh.
1439 cat <<_ACEOF1439 cat <<_ACEOF
1440\`configure' configures libdbusmenu 0.5.94 to adapt to many kinds of systems.1440\`configure' configures libdbusmenu 0.5.95 to adapt to many kinds of systems.
14411441
1442Usage: $0 [OPTION]... [VAR=VALUE]...1442Usage: $0 [OPTION]... [VAR=VALUE]...
14431443
@@ -1507,7 +1507,7 @@
15071507
1508if test -n "$ac_init_help"; then1508if test -n "$ac_init_help"; then
1509 case $ac_init_help in1509 case $ac_init_help in
1510 short | recursive ) echo "Configuration of libdbusmenu 0.5.94:";;1510 short | recursive ) echo "Configuration of libdbusmenu 0.5.95:";;
1511 esac1511 esac
1512 cat <<\_ACEOF1512 cat <<\_ACEOF
15131513
@@ -1656,7 +1656,7 @@
1656test -n "$ac_init_help" && exit $ac_status1656test -n "$ac_init_help" && exit $ac_status
1657if $ac_init_version; then1657if $ac_init_version; then
1658 cat <<\_ACEOF1658 cat <<\_ACEOF
1659libdbusmenu configure 0.5.941659libdbusmenu configure 0.5.95
1660generated by GNU Autoconf 2.681660generated by GNU Autoconf 2.68
16611661
1662Copyright (C) 2010 Free Software Foundation, Inc.1662Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2027,7 +2027,7 @@
2027This file contains any messages produced by compilers while2027This file contains any messages produced by compilers while
2028running configure, to aid debugging if configure makes a mistake.2028running configure, to aid debugging if configure makes a mistake.
20292029
2030It was created by libdbusmenu $as_me 0.5.94, which was2030It was created by libdbusmenu $as_me 0.5.95, which was
2031generated by GNU Autoconf 2.68. Invocation command line was2031generated by GNU Autoconf 2.68. Invocation command line was
20322032
2033 $ $0 $@2033 $ $0 $@
@@ -2848,7 +2848,7 @@
28482848
2849# Define the identity of the package.2849# Define the identity of the package.
2850 PACKAGE=libdbusmenu2850 PACKAGE=libdbusmenu
2851 VERSION=0.5.942851 VERSION=0.5.95
28522852
28532853
2854# Some tools Automake needs.2854# Some tools Automake needs.
@@ -14423,7 +14423,7 @@
14423###########################14423###########################
1442414424
14425LIBDBUSMENU_CURRENT=414425LIBDBUSMENU_CURRENT=4
14426LIBDBUSMENU_REVISION=1114426LIBDBUSMENU_REVISION=12
14427LIBDBUSMENU_AGE=014427LIBDBUSMENU_AGE=0
1442814428
1442914429
@@ -15777,7 +15777,7 @@
15777# report actual input values of CONFIG_FILES etc. instead of their15777# report actual input values of CONFIG_FILES etc. instead of their
15778# values after options handling.15778# values after options handling.
15779ac_log="15779ac_log="
15780This file was extended by libdbusmenu $as_me 0.5.94, which was15780This file was extended by libdbusmenu $as_me 0.5.95, which was
15781generated by GNU Autoconf 2.68. Invocation command line was15781generated by GNU Autoconf 2.68. Invocation command line was
1578215782
15783 CONFIG_FILES = $CONFIG_FILES15783 CONFIG_FILES = $CONFIG_FILES
@@ -15843,7 +15843,7 @@
15843cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=115843cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
15844ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"15844ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
15845ac_cs_version="\\15845ac_cs_version="\\
15846libdbusmenu config.status 0.5.9415846libdbusmenu config.status 0.5.95
15847configured by $0, generated by GNU Autoconf 2.68,15847configured by $0, generated by GNU Autoconf 2.68,
15848 with options \\"\$ac_cs_config\\"15848 with options \\"\$ac_cs_config\\"
1584915849
1585015850
=== modified file 'configure.ac'
--- configure.ac 2012-03-09 20:25:35 +0000
+++ configure.ac 2012-03-21 19:38:20 +0000
@@ -1,11 +1,11 @@
11
2AC_INIT(libdbusmenu, 0.5.94, ted@canonical.com)2AC_INIT(libdbusmenu, 0.5.95, ted@canonical.com)
3AC_COPYRIGHT([Copyright 2009,2010 Canonical])3AC_COPYRIGHT([Copyright 2009,2010 Canonical])
44
5AC_PREREQ(2.62)5AC_PREREQ(2.62)
66
7AM_CONFIG_HEADER(config.h)7AM_CONFIG_HEADER(config.h)
8AM_INIT_AUTOMAKE(libdbusmenu, 0.5.94, [-Wno-portability])8AM_INIT_AUTOMAKE(libdbusmenu, 0.5.95, [-Wno-portability])
99
10AM_MAINTAINER_MODE10AM_MAINTAINER_MODE
1111
@@ -165,7 +165,7 @@
165###########################165###########################
166166
167LIBDBUSMENU_CURRENT=4167LIBDBUSMENU_CURRENT=4
168LIBDBUSMENU_REVISION=11168LIBDBUSMENU_REVISION=12
169LIBDBUSMENU_AGE=0169LIBDBUSMENU_AGE=0
170170
171AC_SUBST(LIBDBUSMENU_CURRENT)171AC_SUBST(LIBDBUSMENU_CURRENT)
172172
=== modified file 'debian/changelog'
--- debian/changelog 2012-03-12 14:07:56 +0000
+++ debian/changelog 2012-03-21 19:38:20 +0000
@@ -1,3 +1,12 @@
1libdbusmenu (0.5.95-0ubuntu1~ppa1) precise; urgency=low
2
3 * New upstream release.
4 * Fix theme change bug (LP: #953509)
5 * Don't request event responses if no one is listening
6 * Fix a warning on custom menu items without labels
7
8 -- Ted Gould <ted@ubuntu.com> Wed, 21 Mar 2012 14:33:32 -0500
9
1libdbusmenu (0.5.94-0ubuntu1) precise; urgency=low10libdbusmenu (0.5.94-0ubuntu1) precise; urgency=low
211
3 * New upstream release.12 * New upstream release.
413
=== modified file 'docs/libdbusmenu-glib/reference/html/ch01.html'
--- docs/libdbusmenu-glib/reference/html/ch01.html 2012-03-09 20:21:04 +0000
+++ docs/libdbusmenu-glib/reference/html/ch01.html 2012-03-21 19:38:20 +0000
@@ -21,7 +21,7 @@
21</tr></table>21</tr></table>
22<div class="chapter">22<div class="chapter">
23<div class="titlepage"><div><div><h2 class="title">23<div class="titlepage"><div><div><h2 class="title">
24<a name="idp3882768"></a>API</h2></div></div></div>24<a name="idp5150560"></a>API</h2></div></div></div>
25<div class="toc"><dl>25<div class="toc"><dl>
26<dt>26<dt>
27<span class="refentrytitle"><a href="libdbusmenu-glib-DbusmenuServer.html">DbusmenuServer</a></span><span class="refpurpose"> — The server signals changed and27<span class="refentrytitle"><a href="libdbusmenu-glib-DbusmenuServer.html">DbusmenuServer</a></span><span class="refpurpose"> — The server signals changed and
2828
=== modified file 'docs/libdbusmenu-glib/reference/version.xml'
--- docs/libdbusmenu-glib/reference/version.xml 2012-03-09 20:25:35 +0000
+++ docs/libdbusmenu-glib/reference/version.xml 2012-03-21 19:38:20 +0000
@@ -1,1 +1,1 @@
10.5.9410.5.95
22
=== modified file 'docs/libdbusmenu-gtk/reference/html/ch01.html'
--- docs/libdbusmenu-gtk/reference/html/ch01.html 2012-03-09 20:21:04 +0000
+++ docs/libdbusmenu-gtk/reference/html/ch01.html 2012-03-21 19:38:20 +0000
@@ -21,7 +21,7 @@
21</tr></table>21</tr></table>
22<div class="chapter">22<div class="chapter">
23<div class="titlepage"><div><div><h2 class="title">23<div class="titlepage"><div><div><h2 class="title">
24<a name="idp3527472"></a>API</h2></div></div></div>24<a name="idp2311712"></a>API</h2></div></div></div>
25<div class="toc"><dl>25<div class="toc"><dl>
26<dt>26<dt>
27<span class="refentrytitle"><a href="libdbusmenu-gtk-DbusmenuGtkMenu.html">DbusmenuGtkMenu</a></span><span class="refpurpose"> — A GTK Menu Object that syncronizes over DBus</span>27<span class="refentrytitle"><a href="libdbusmenu-gtk-DbusmenuGtkMenu.html">DbusmenuGtkMenu</a></span><span class="refpurpose"> — A GTK Menu Object that syncronizes over DBus</span>
2828
=== modified file 'docs/libdbusmenu-gtk/reference/version.xml'
--- docs/libdbusmenu-gtk/reference/version.xml 2012-03-09 20:25:35 +0000
+++ docs/libdbusmenu-gtk/reference/version.xml 2012-03-21 19:38:20 +0000
@@ -1,1 +1,1 @@
10.5.9410.5.95
22
=== modified file 'libdbusmenu-glib/client.c'
--- libdbusmenu-glib/client.c 2012-03-08 16:01:54 +0000
+++ libdbusmenu-glib/client.c 2012-03-21 19:38:20 +0000
@@ -1540,6 +1540,18 @@
1540 variant = g_variant_new_int32(0);1540 variant = g_variant_new_int32(0);
1541 }1541 }
15421542
1543 /* Don't bother with the reply handling if nobody is watching... */
1544 if (!g_signal_has_handler_pending (client, signals[EVENT_RESULT], 0, TRUE)) {
1545 g_dbus_proxy_call(priv->menuproxy,
1546 "Event",
1547 g_variant_new("(isvu)", id, name, variant, timestamp),
1548 G_DBUS_CALL_FLAGS_NONE,
1549 1000, /* timeout */
1550 NULL, /* cancellable */
1551 NULL, NULL);
1552 return;
1553 }
1554
1543 event_data_t * edata = g_new0(event_data_t, 1);1555 event_data_t * edata = g_new0(event_data_t, 1);
1544 edata->client = client;1556 edata->client = client;
1545 g_object_ref(client);1557 g_object_ref(client);
15461558
=== modified file 'libdbusmenu-gtk/client.c'
--- libdbusmenu-gtk/client.c 2012-03-09 20:25:35 +0000
+++ libdbusmenu-gtk/client.c 2012-03-21 19:38:20 +0000
@@ -738,24 +738,27 @@
738738
739 if (variant != NULL) {739 if (variant != NULL) {
740 const gchar * setname = NULL;740 const gchar * setname = NULL;
741 setname = g_variant_dup_string(variant, NULL);741 setname = g_variant_get_string(variant, NULL);
742 atk_object_set_name(aobj, setname);742 atk_object_set_name(aobj, setname);
743 } else {743 } else {
744 /* The atk docs advise to set the name of the atk object to an empty744 /* The atk docs advise to set the name of the atk object to an empty
745 * string, but GTK doesn't yet do the same, and setting the name to NULL745 * string, but GTK doesn't yet do the same, and setting the name to NULL
746 * causes tests to fail.746 * causes tests to fail.
747 */747 */
748 gchar * setname = NULL;
749 const gchar * label = NULL;748 const gchar * label = NULL;
750 /* We don't want the underscore for mnewmonics */
751 label = dbusmenu_menuitem_property_get(mi, DBUSMENU_MENUITEM_PROP_LABEL);749 label = dbusmenu_menuitem_property_get(mi, DBUSMENU_MENUITEM_PROP_LABEL);
752750
753 GRegex * regex = g_regex_new ("_", 0, 0, NULL);751 if (label != NULL) {
754 setname = g_regex_replace_literal (regex, label, -1, 0, "", 0, NULL);752 gchar * setname = NULL;
755 g_regex_unref(regex);753
756754 /* We don't want the underscore for mnewmonics */
757 atk_object_set_name(aobj, setname);755 GRegex * regex = g_regex_new ("_", 0, 0, NULL);
758 g_free(setname);756 setname = g_regex_replace_literal (regex, label, -1, 0, "", 0, NULL);
757 g_regex_unref(regex);
758
759 atk_object_set_name(aobj, setname);
760 g_free(setname);
761 }
759 }762 }
760763
761 return;764 return;
762765
=== modified file 'libdbusmenu-gtk/parser.c'
--- libdbusmenu-gtk/parser.c 2012-03-09 20:25:35 +0000
+++ libdbusmenu-gtk/parser.c 2012-03-21 19:38:20 +0000
@@ -45,7 +45,6 @@
45 GtkWidget *image;45 GtkWidget *image;
46 AtkObject *accessible;46 AtkObject *accessible;
4747
48 guint theme_changed_sig;
49} ParserData;48} ParserData;
5049
51typedef struct _RecurseContext50typedef struct _RecurseContext
@@ -86,8 +85,6 @@
86static void item_removed_cb (GtkContainer * menu,85static void item_removed_cb (GtkContainer * menu,
87 GtkWidget * widget,86 GtkWidget * widget,
88 gpointer data);87 gpointer data);
89static void theme_changed_cb (GtkIconTheme * theme,
90 gpointer data);
91static void item_activated (DbusmenuMenuitem * item,88static void item_activated (DbusmenuMenuitem * item,
92 guint timestamp,89 guint timestamp,
93 gpointer user_data);90 gpointer user_data);
@@ -216,29 +213,11 @@
216 g_object_remove_weak_pointer(G_OBJECT(pdata->accessible), (gpointer*)&pdata->accessible);213 g_object_remove_weak_pointer(G_OBJECT(pdata->accessible), (gpointer*)&pdata->accessible);
217 }214 }
218215
219 if (pdata != NULL && pdata->theme_changed_sig != 0) {
220 g_signal_handler_disconnect(gtk_icon_theme_get_default(), pdata->theme_changed_sig);
221 pdata->theme_changed_sig = 0;
222 }
223
224 g_free(pdata);216 g_free(pdata);
225217
226 return;218 return;
227}219}
228220
229static void
230widget_freed (gpointer data, GObject * obj)
231{
232 ParserData * pdata = (ParserData *)data;
233
234 if (pdata->theme_changed_sig != 0) {
235 g_signal_handler_disconnect(gtk_icon_theme_get_default(), pdata->theme_changed_sig);
236 pdata->theme_changed_sig = 0;
237 }
238
239 return;
240}
241
242/* Called when the dbusmenu item that we're keeping around221/* Called when the dbusmenu item that we're keeping around
243 is finalized */222 is finalized */
244static void223static void
@@ -247,12 +226,7 @@
247 ParserData *pdata = (ParserData *)g_object_get_data(G_OBJECT(obj), PARSER_DATA);226 ParserData *pdata = (ParserData *)g_object_get_data(G_OBJECT(obj), PARSER_DATA);
248227
249 if (pdata != NULL && pdata->widget != NULL) {228 if (pdata != NULL && pdata->widget != NULL) {
250 if (pdata->theme_changed_sig != 0) {
251 g_signal_handler_disconnect(gtk_icon_theme_get_default(), pdata->theme_changed_sig);
252 pdata->theme_changed_sig = 0;
253 }
254 g_object_steal_data(G_OBJECT(pdata->widget), CACHED_MENUITEM);229 g_object_steal_data(G_OBJECT(pdata->widget), CACHED_MENUITEM);
255 g_object_weak_unref(G_OBJECT(pdata->widget), widget_freed, pdata);
256 }230 }
257}231}
258232
@@ -294,7 +268,6 @@
294 g_object_set_data_full(G_OBJECT(item), PARSER_DATA, pdata, parse_data_free);268 g_object_set_data_full(G_OBJECT(item), PARSER_DATA, pdata, parse_data_free);
295269
296 g_object_weak_ref(G_OBJECT(item), dbusmenu_item_freed, NULL);270 g_object_weak_ref(G_OBJECT(item), dbusmenu_item_freed, NULL);
297 g_object_weak_ref(G_OBJECT(widget), widget_freed, pdata);
298271
299 pdata->widget = widget;272 pdata->widget = widget;
300 g_object_add_weak_pointer(G_OBJECT (widget), (gpointer*)&pdata->widget);273 g_object_add_weak_pointer(G_OBJECT (widget), (gpointer*)&pdata->widget);
@@ -757,10 +730,6 @@
757 we can't get it easily, and those mean it's not changed just the icon730 we can't get it easily, and those mean it's not changed just the icon
758 underneith, so we can ignore these larger impacts */731 underneith, so we can ignore these larger impacts */
759 if (image != GTK_IMAGE(pdata->image) && gmenuitem != NULL) {732 if (image != GTK_IMAGE(pdata->image) && gmenuitem != NULL) {
760 if (pdata->theme_changed_sig != 0) {
761 g_signal_handler_disconnect(gtk_icon_theme_get_default(), pdata->theme_changed_sig);
762 pdata->theme_changed_sig = 0;
763 }
764733
765 if (pdata->image != NULL) {734 if (pdata->image != NULL) {
766 g_signal_handlers_disconnect_by_func(pdata->image, G_CALLBACK(image_notify_cb), menuitem);735 g_signal_handlers_disconnect_by_func(pdata->image, G_CALLBACK(image_notify_cb), menuitem);
@@ -770,8 +739,6 @@
770 pdata->image = GTK_WIDGET(image);739 pdata->image = GTK_WIDGET(image);
771740
772 if (pdata->image != NULL) {741 if (pdata->image != NULL) {
773 pdata->theme_changed_sig = g_signal_connect(G_OBJECT(gtk_icon_theme_get_default()),
774 "changed", G_CALLBACK(theme_changed_cb), gmenuitem);
775 g_signal_connect (G_OBJECT (pdata->image),742 g_signal_connect (G_OBJECT (pdata->image),
776 "notify",743 "notify",
777 G_CALLBACK (image_notify_cb),744 G_CALLBACK (image_notify_cb),
@@ -1287,24 +1254,6 @@
1287 return;1254 return;
1288}1255}
12891256
1290static void
1291theme_changed_cb (GtkIconTheme *theme, gpointer data)
1292{
1293 GtkWidget *image;
1294
1295 image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (data));
1296
1297 gpointer pmi = g_object_get_data(G_OBJECT(data), CACHED_MENUITEM);
1298 if (pmi != NULL) {
1299 ParserData *pdata = (ParserData *)g_object_get_data(G_OBJECT(pmi), PARSER_DATA);
1300 update_icon(DBUSMENU_MENUITEM(pmi), pdata, NULL, GTK_IMAGE(image));
1301 }
1302
1303 /* Switch signal to new theme */
1304 g_signal_handlers_disconnect_by_func(theme, G_CALLBACK(theme_changed_cb), data);
1305 g_signal_connect(gtk_icon_theme_get_default(), "changed", G_CALLBACK(theme_changed_cb), data);
1306}
1307
1308static gboolean1257static gboolean
1309should_show_image (GtkImage *image)1258should_show_image (GtkImage *image)
1310{1259{

Subscribers

People subscribed via source and target branches

to all changes: