Denis Oliver Kropp wrote:
> Chiakie wrote:
>> I try to add one line within function "input_filter" in testman.c as
>> follows:
>>
>> +) #include <core/windows.h>
>>
>> //…
>>
>> if (window->window->flags & CWF_FOCUSED) {
>>
>> window = tm->windows[(i+1) % tm->num_windows];
>>
>> D_MAGIC_ASSERT( window, SaWManWindow );
>>
>> manager->SwitchFocus( manager, window );
>>
>> +) dfb_window_raisetotop(window->window);
>>
>> break;
>>
>> }
>>
>> But when I try to press F9 to switch focus, the whole program gets stuck?
>
> You should call manager->InsertWindow() which will not block and acts
> like restacking if the window is already inserted.
>
> The other API is used from outside SaWMan and at the moment causes
> a dead lock if called from the manager executable, because the lock
> is held by the process calling the manager.
A generic fix to this and similar problems with calls could be solved
by allowing a called process to take the locks that the calling process
holds while waiting for the execution to return. I need to think about
this and possible problems, implications a bit more.
--
Best regards,
Denis Oliver Kropp
.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/ |
"------------------------------------------"
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev