Hi all

Hidetaka Iwai <[EMAIL PROTECTED]> wrote this patch

diff -ruN gtk+-directfb-2.0.9-2-old/gdk/directfb/gdkevents-directfb.c gtk+-directfb-2.0.9-2/gdk/directfb/gdkevents-directfb.c --- gtk+-directfb-2.0.9-2-old/gdk/directfb/gdkevents-directfb.c 2003-01-19 23:43:57.000000000 +0900 +++ gtk+-directfb-2.0.9-2/gdk/directfb/gdkevents-directfb.c 2005-12-09 23:54:58.000000000 +0900
@@ -40,6 +40,7 @@
 #include "gdkkeysyms.h"

 #include "gdkinput-directfb.h"
+#include <string.h>


 /*********************************************
@@ -214,6 +215,49 @@
 void
 gdk_event_send_clientmessage_toall (GdkEvent *event)
 {
+  GdkWindowObject *private;
+  GList *ltmp =  NULL, *top_level = NULL;
+
+  g_return_if_fail(event != NULL);
+
+  private = GDK_WINDOW_OBJECT (_gdk_parent_root);
+  for (ltmp = private->children; ltmp; ltmp = ltmp->next)
+    {
+      GdkWindowObject *win = GDK_WINDOW_OBJECT(ltmp->data);
+
+      if ((GDK_WINDOW_OBJECT(win)->window_type != GDK_WINDOW_CHILD) &&
+         (g_object_get_data (G_OBJECT (win), "gdk-window-child-handler")))
+       {
+         /* Managed window, check children */
+
+         GList *ltmp2 = NULL;
+         for (ltmp2 = win->children; ltmp2; ltmp2 = ltmp2->next)
+           {
+             g_list_append(top_level, GDK_WINDOW(ltmp2->data));
+           }
+       }
+      else
+       {
+         g_list_append(top_level, GDK_WINDOW(win));
+       }
+    }
+
+  for (ltmp = top_level; ltmp; ltmp = ltmp->next)
+    {
+      GdkWindowObject *win = GDK_WINDOW_OBJECT(ltmp->data);
+      GdkEvent *new_event;
+
+ new_event = gdk_directfb_event_make (GDK_WINDOW(win), GDK_CLIENT_EVENT);
+      new_event->client.message_type = event->client.message_type;
+      new_event->client.data_format = event->client.data_format;
+      memcpy(&new_event->client.data,
+            &event->client.data,
+            sizeof(event->client.data));
+    }
+  if (top_level)
+    {
+      g_list_free(top_level);
+    }
 }


to see if he can make this piece of code work that should force the GTK frontend of the debian-installer to reload the gtkrc file when a change of used fonts is needed to be forced.

void send_refresh_signal(void)
{
        GdkEventClient event;
        event.type = GDK_CLIENT_EVENT;
        event.send_event = TRUE;
        event.window = NULL;
        event.message_type = gdk_atom_intern("_GTK_READ_RCFILES", FALSE);
        event.data_format = 8;
        gdk_event_send_clientmessage_toall((GdkEvent *)&event);
        gtk_rc_reparse_all();
}

Hidetaka said this doens't work yet, but could this be implemeted inside GTKDFB 2.8.3 too ? (Mike?) If you want to reply, please put in CC Hidetaka too, since he's not subscribed to directfb-dev.

ciao

Attilio



_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to