A little info for 2.8.3 the calls are per display.
In 2.8.3 the calls are the following.
gdk_event_send_client_message_for_display
gdk_display_add_client_message_filter
gdk_screen_broadcast_client_message
gdk_event_send_clientmessage_toall_for_display

For   2.0.9-2 you have

gdk_event_send_client_message
gdk_event_send_clientmessage_toall

I think the code should be refactord to implement
gdk_event_send_client_message and have toall call that.
I can do the little bit of work to get it into 2.8.3.
The big differnce is the filter which we could ignore initally.
So refactor so we can get both calls implemented then let me put it
into 2.8.3 and you down port it. If he does not want to make the
changes I can.


Mike


On 12/14/05, Attilio Fiandrotti <[EMAIL PROTECTED]> wrote:
> 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