Opened 4 years ago
#16576 new bug
BWindow::Activate(false) should not sent to back
Reported by: | smallstepforman | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Kits/Interface Kit | Version: | R1/beta2 |
Keywords: | BWindow Activate | Cc: | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
Calling BWindow::Activate(false) will send the window to the back, which is undesired for the following reasons:
Consider the scenario where one application has 2 windows open, arranged side by side. Behind the 2nd window is another unrelated application. The developer calls BWindow::Activate(false) because they do not want the 2nd window to have focus when first opened. The developer expects it should still maintain its window heirarchy and visiblity. If they wanted the application to move to back, they would have called the SendBehind(BWindow *) function instead. Unfortunately, calling BWindow::Activate(false) will send the window behind the unrelated application window.
To observe this issue, you will need to have an unrelated application window sharing the same screen space as the window being made inactive.
In some use case scenarios, the user may be unaware that a BWindow was spawned since it may be behind a bigger window for an unrelated application. This problem would not exist if BWindow::Activate(false) didn't send to back. It should only remove focus.