Denis Oliver Kropp wrote: > Jesus Ruiz de Infante wrote: >> Denis Oliver Kropp wrote: >>> Jesus Ruiz de Infante wrote: >>>> So it seems that, with respect to the window stacking, pop up windows >>>> are not in the same class >>> Correct. >>> >>>> as dialogs. How can that be changed? >>>> >>>> I have found only a reference to DWSC_UPPER in >>>> gdk_window_set_modal_hint() >>>> (in gdk/directfb/gdkwindow-directfb.c), which is only called by >>>> gtk_window_set_modal() and gtk_window_realize() (in gtk/gtkwindow.c) >>> That's not good. As a hotfix you can comment out the change to DWSC_UPPER, >>> but to fix it properly, gdk_window_new() should detect that a popup is >>> opened >>> for a dialog and that it should be in DWSC_UPPER, too. >>> >> >> Actually gdk_window_set_modal_hint() is called once on the dialog window >> and, later, once on the popup window, when they are created, but it seems >> that this is not enough to >> raise the popup when the combo box is clicked. Is there a way to shuffle >> windows >> in the DWSC_UPPER class? > > A call to IDirectFBWindow::RaiseToTop() should do it. > >> Also, if both the popup and the dialog are in the DWSC_UPPER stacking class, >> why don't >> <Meta>-X or <Meta>-S bring the popup to the front? > > That's indeed a good question. If you're running the multi app core you can > try dfbdump to > verify the stacking classes. >
Many thanks for your response. I have added an inconditional call to gdk_window_set_modal_hint() in gdk_directfb_window_new() to put the created window in the DWSC_UPPER class. Here is the dfbdump output. Window ID 1 is a dbfterm. Window ID 3 is the dialog. Window 5 is the popup drop down list, but it is not in the DWSC_UPPER class (no '^' adjacent to the ID). No idea what id 4 is. It is out of the display (x = -100, y = -100) and it does belong to the DWSC_UPPER class. -----------------------------------[ Windows of Layer 0 ]----------------------------------------- Reference FID . Refs X Y Width Height Opacity ID Capabilities State & Options -------------------------------------------------------------------------------------------------- 0x00000021 [ 2] : 3 0, 0 75 x 45 0xff 3 ^ alphachannel 0x0000001f [ 2] : 2 0, 0 640 x 480 0x00 2 - alphachannel 0x00000011 [ 1] : 6 12, 10 616 x 460 0xff 1 - alphachannel FOCUSED -----------------------------------[ Windows of Layer 0 ]----------------------------------------- Reference FID . Refs X Y Width Height Opacity ID Capabilities State & Options -------------------------------------------------------------------------------------------------- 0x00000024 [ 2] : 2 -100, -100 10 x 10 0x00 4 ^ input only 0x00000021 [ 2] : 3 0, 0 75 x 45 0xff 3 ^ alphachannel FOCUSED 0x00000025 [ 2] : 6 2, 2 71 x 81 0xff 5 - alphachannel 0x0000001f [ 2] : 2 0, 0 640 x 480 0x00 2 - alphachannel 0x00000011 [ 1] : 6 12, 10 616 x 460 0xff 1 - alphachannel Also, a new input window is created each time the drop down list pops up. Isn't this a leak? -----------------------------------[ Windows of Layer 0 ]----------------------------------------- Reference FID . Refs X Y Width Height Opacity ID Capabilities State & Options -------------------------------------------------------------------------------------------------- 0x00000028 [ 2] : 1 -100, -100 10 x 10 0x00 7 ^ input only 0x00000027 [ 2] : 1 -100, -100 10 x 10 0x00 6 ^ input only 0x00000024 [ 2] : 1 -100, -100 10 x 10 0x00 4 ^ input only 0x00000021 [ 2] : 3 0, 0 75 x 45 0xff 3 ^ alphachannel 0x00000025 [ 2] : 6 2, 0 71 x 81 0x00 5 - alphachannel 0x0000001f [ 2] : 2 0, 0 640 x 480 0x00 2 - alphachannel 0x00000011 [ 1] : 6 12, 10 616 x 460 0xff 1 - alphachannel FOCUSED -- 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