Mailing List Archive

r19506 - in projects/haf/trunk/gtk+: . gtk
Author: kalikiana
Date: 2009-11-18 14:06:20 +0200 (Wed, 18 Nov 2009)
New Revision: 19506

Modified:
projects/haf/trunk/gtk+/ChangeLog
projects/haf/trunk/gtk+/gtk/Makefile.am
projects/haf/trunk/gtk+/gtk/gtkicontheme.c
projects/haf/trunk/gtk+/gtk/gtkwindow.c
projects/haf/trunk/gtk+/gtk/updateiconcache.c
Log:
2009-11-18 Christian Dywan <christian@lanedo.com>

* gtk/Makefile.am:
* gtk/gtkicontheme.c (_gtk_icon_theme_check_reload):
* gtk/gtkwindow.c (gtk_window_client_event):
* gtk/updateiconcache.c (main): Implement _MAEMO_GTK_FLUSH_ICONS atom
and use it in gtk-update-icon-cache to flush the icon cache.

Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog 2009-11-16 16:01:38 UTC (rev 19505)
+++ projects/haf/trunk/gtk+/ChangeLog 2009-11-18 12:06:20 UTC (rev 19506)
@@ -1,3 +1,11 @@
+2009-11-18 Christian Dywan <christian@lanedo.com>
+
+ * gtk/Makefile.am:
+ * gtk/gtkicontheme.c (_gtk_icon_theme_check_reload):
+ * gtk/gtkwindow.c (gtk_window_client_event):
+ * gtk/updateiconcache.c (main): Implement _MAEMO_GTK_FLUSH_ICONS atom
+ and use it in gtk-update-icon-cache to flush the icon cache.
+
2009-11-16 Christian Dywan <christian@lanedo.com>

Fixes: NB#143062 - Browser, "Save page as" title right-aligned

Modified: projects/haf/trunk/gtk+/gtk/Makefile.am
===================================================================
--- projects/haf/trunk/gtk+/gtk/Makefile.am 2009-11-16 16:01:38 UTC (rev 19505)
+++ projects/haf/trunk/gtk+/gtk/Makefile.am 2009-11-18 12:06:20 UTC (rev 19506)
@@ -931,7 +931,8 @@

gtk_query_immodules_2_0_SOURCES = queryimmodules.c

-gtk_update_icon_cache_LDADD = $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
+gtk_update_icon_cache_LDADD = $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
+ $(top_builddir)/gdk/$(gdktargetlib)

gtk_update_icon_cache_SOURCES = \
updateiconcache.c

Modified: projects/haf/trunk/gtk+/gtk/gtkicontheme.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtkicontheme.c 2009-11-16 16:01:38 UTC (rev 19505)
+++ projects/haf/trunk/gtk+/gtk/gtkicontheme.c 2009-11-18 12:06:20 UTC (rev 19506)
@@ -3420,6 +3420,9 @@
void
_gtk_icon_theme_check_reload (GdkDisplay *display)
{
+#ifdef MAEMO_CHANGES
+ gpointer flush = g_object_get_data (G_OBJECT (display), "gtk-flush-icons");
+#endif
gint n_screens, i;
GdkScreen *screen;
GtkIconTheme *icon_theme;
@@ -3434,6 +3437,10 @@
if (icon_theme)
{
icon_theme->priv->check_reload = TRUE;
+#ifdef MAEMO_CHANGES
+ if (flush)
+ blow_themes (icon_theme);
+#endif
ensure_valid_themes (icon_theme);
icon_theme->priv->check_reload = FALSE;
}

Modified: projects/haf/trunk/gtk+/gtk/gtkwindow.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtkwindow.c 2009-11-16 16:01:38 UTC (rev 19505)
+++ projects/haf/trunk/gtk+/gtk/gtkwindow.c 2009-11-18 12:06:20 UTC (rev 19506)
@@ -5158,6 +5158,7 @@
static GdkAtom atom_rcfiles = GDK_NONE;
static GdkAtom atom_iconthemes = GDK_NONE;
#ifdef MAEMO_CHANGES
+static GdkAtom atom_flush_icons = GDK_NONE;
static GdkAtom atom_temporaries = GDK_NONE;
#endif /* MAEMO_CHANGES */

@@ -5268,6 +5269,7 @@
atom_rcfiles = gdk_atom_intern_static_string ("_GTK_READ_RCFILES");
atom_iconthemes = gdk_atom_intern_static_string ("_GTK_LOAD_ICONTHEMES");
#ifdef MAEMO_CHANGES
+ atom_flush_icons = gdk_atom_intern_static_string ("_MAEMO_GTK_FLUSH_ICONS");
atom_temporaries = gdk_atom_intern_static_string ("_GTK_DELETE_TEMPORARIES");
#endif /* MAEMO_CHANGES */
}
@@ -5285,6 +5287,15 @@
}

#ifdef MAEMO_CHANGES
+ if (event->message_type == atom_flush_icons)
+ {
+ GdkDisplay *display = gtk_widget_get_display (widget);
+ send_client_message_to_embedded_windows (widget, atom_flush_icons);
+ g_object_set_data (G_OBJECT (display), "gtk-flush-icons", widget);
+ _gtk_icon_theme_check_reload (display);
+ g_object_set_data (G_OBJECT (display), "gtk-flush-icons", NULL);
+ }
+
if (event->message_type == atom_temporaries)
{
send_client_message_to_embedded_windows (widget, atom_temporaries);

Modified: projects/haf/trunk/gtk+/gtk/updateiconcache.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/updateiconcache.c 2009-11-16 16:01:38 UTC (rev 19505)
+++ projects/haf/trunk/gtk+/gtk/updateiconcache.c 2009-11-18 12:06:20 UTC (rev 19506)
@@ -43,6 +43,11 @@
#include <glib/gi18n.h>
#include "gtkiconcachevalidator.h"

+#ifdef MAEMO_CHANGES
+#include "gdk/gdk.h"
+#include "x11/gdkx.h"
+#endif
+
static gboolean force_update = FALSE;
static gboolean ignore_theme_index = FALSE;
static gboolean quiet = FALSE;
@@ -1702,7 +1707,20 @@

g_type_init ();
build_cache (path);
+#ifdef MAEMO_CHANGES
+ if (gdk_init_check (&argc, &argv))
+ {
+ GdkEventClient event;

+ event.type = GDK_CLIENT_EVENT;
+ event.window = NULL;
+ event.send_event = TRUE;
+ event.message_type = gdk_atom_intern ("_MAEMO_GTK_FLUSH_ICONS", FALSE);
+ event.data_format = 8;
+ gdk_event_send_clientmessage_toall ((GdkEvent *) &event);
+ }
+#endif
+
if (strcmp (var_name, "-") != 0)
write_csource (path);


_______________________________________________
maemo-commits mailing list
maemo-commits@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-commits