diff --git a/src/servers/app/WindowLayer.cpp b/src/servers/app/WindowLayer.cpp index 2044cc9164..8ecdffd73a 100644 --- a/src/servers/app/WindowLayer.cpp +++ b/src/servers/app/WindowLayer.cpp @@ -820,6 +820,10 @@ WindowLayer::AddToSubset(WindowLayer* window) || fFeel == B_MODAL_ALL_WINDOW_FEEL) return true; + if (fFeel == B_FLOATING_APP_WINDOW_FEEL + || fFeel == B_MODAL_APP_WINDOW_FEEL) + return window->Window()->App() == Window()->App(); + return fSubsets.AddItem(window); } @@ -828,7 +832,9 @@ void WindowLayer::RemoveFromSubset(WindowLayer* window) { if (fFeel == B_FLOATING_ALL_WINDOW_FEEL - || fFeel == B_MODAL_ALL_WINDOW_FEEL) + || fFeel == B_MODAL_ALL_WINDOW_FEEL + || fFeel == B_FLOATING_APP_WINDOW_FEEL + || fFeel == B_MODAL_APP_WINDOW_FEEL) return; fSubsets.RemoveItem(window); @@ -842,6 +848,10 @@ WindowLayer::HasInSubset(WindowLayer* window) || fFeel == B_MODAL_ALL_WINDOW_FEEL) return true; + if (fFeel == B_FLOATING_APP_WINDOW_FEEL + || fFeel == B_MODAL_APP_WINDOW_FEEL) + return window->Window()->App() == Window()->App(); + return fSubsets.HasItem(window); }