e_client: Modify to have focus even the window is in defer_focus_stack 44/284444/1
authorJunseok Kim <juns.kim@samsung.com>
Fri, 11 Nov 2022 01:47:34 +0000 (10:47 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Thu, 17 Nov 2022 07:49:39 +0000 (16:49 +0900)
commit0f3c9c32d88d2349c3f6793e18606a0babc555aa
treef7debbad71b35051e8fa10785ede06fe5659576f
parent2b0f37d491a700fbec56e91618825cc2dedd5585
e_client: Modify to have focus even the window is in defer_focus_stack

There was a bug that window couldn't get focus even if the window requests activate.

For more detail, there're 2 windows, that one is partial sized, above layer window(winA) like as floating window, and the other is full sized, normal layer window(winB) like as homescreen.

First, winB gets focus by touch as launching new app icon of the user.
By the user operation, a new fullsized, normal layer window (winC) launchs with create, show, and activate request.

Next, the winB fully obscured by new window winC.
In this timing, the winC is not visible but winB prepares hide by wm.
When doing hide, the e_client_revert_focus called for find previously focused window.

The winC is in defer focus stack but it skiped due to it isn't visible yet.
Finally, the winC couldn't get focus even if it requested activate and focus given to winA.

For fix this problem, check the window is in defer_focus_stack when focusable check.

Change-Id: I34e68d41d2cfb183d4eab956abf6472708e295bf
src/bin/e_client.c