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

Reply via email to