Hello list! With respect to the pop up window not being in the DWSC_UPPER class the problem seems to be that gdk_window_set_type_hint() is not fully implemented. I have added the handling for GDK_WINDOW_TYPE_HINT_POPUP_MENU:
--- gdk/directfb/gdkwindow-directfb_orig.c 2008-02-28 16:02:53.000000000 +0100 +++ gdk/directfb/gdkwindow-directfb.c 2008-02-28 16:26:04.000000000 +0100 @@ -2255,6 +2255,8 @@ gdk_window_set_type_hint (GdkWindow *window, GdkWindowTypeHint hint) { + GdkWindowImplDirectFB *impl; + g_return_if_fail (GDK_IS_WINDOW (window)); if (GDK_WINDOW_DESTROYED (window)) @@ -2263,7 +2265,19 @@ GDK_NOTE (MISC, g_print ("gdk_window_set_type_hint: 0x%x: %d\n", GDK_WINDOW_DFB_ID (window), hint)); - ((GdkWindowImplDirectFB *)((GdkWindowObject *)window)->impl)->type_hint = hint; + impl = GDK_WINDOW_IMPL_DIRECTFB (GDK_WINDOW_OBJECT (window)->impl); + + impl->type_hint = hint; + + switch (hint) + { + case GDK_WINDOW_TYPE_HINT_POPUP_MENU: + impl->window->SetStackingClass (impl->window, DWSC_UPPER); + impl->window->RaiseToTop (impl->window); + break; + default: + ; + }; /* N/A */ With this patch the dfbdump output seems ok: -----------------------------------[ Windows of Layer 0 ]----------------------------------------- Reference FID . Refs X Y Width Height Opacity ID Capabilities State & Options -------------------------------------------------------------------------------------------------- 0x00000018 [ 1] : 6 2, 2 71 x 81 0x00 4 ^ alphachannel FOCUSED 0x00000014 [ 1] : 3 0, 0 75 x 45 0xff 2 ^ alphachannel 0x00000017 [ 1] : 1 -100, -100 10 x 10 0x00 3 - input only 0x00000012 [ 1] : 2 0, 0 640 x 480 0x00 1 - alphachannel I have the following open questions: - What is an "input only" window? - Who's creating this extra GdkWindow just for input and why? - Why are DirectFB windows not collected (freed) after they are closed? For example, after closing a dialog, it continues appearing in the dfbdump output. Other problems - The dropdown list loses focus after being clicked. You must move the mouse slightly for it to gain focus again. - Why does the combo box not use GDK_WINDOW_TYPE_HINT_COMBO, rather than GDK_WINDOW_TYPE_HINT_POPUP_MENU? (Ok, this is probably a gtk+ question) -- Mit freundlichen Grüßen Jesus Ruiz de Infante (Entwicklung) HALE electronic GmbH Eugen-Müller-Straße 18, 5020 Salzburg, Austria Tel: +43 (662) 439011 0 Fax: +43 (662) 439011 9 [EMAIL PROTECTED] Firmenbuchnummer: FN 66801m HG Salzburg -- Scanned by MailScanner. _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev