diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-06-05 04:20:08 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-06-05 04:20:08 +0000 |
| commit | aad50046de0b1971f869ee95a0f80267c74a1fd3 (patch) | |
| tree | 4482c98602aca1abeacda399a025be684c6a8b43 /src/Screen.cc | |
| parent | 7a55323343635d8a29bb62cd49d8d6a5c103f317 (diff) | |
synched with bb-cvs. couple bug fixes.
Diffstat (limited to 'src/Screen.cc')
| -rw-r--r-- | src/Screen.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index 8779733c..512475c8 100644 --- a/src/Screen.cc +++ b/src/Screen.cc @@ -1040,10 +1040,14 @@ void BScreen::changeWorkspaceID(unsigned int id) { workspacemenu->setItemSelected(current_workspace->getID() + 2, False); - if (blackbox->getFocusedWindow() && - blackbox->getFocusedWindow()->getScreen() == this && - ! blackbox->getFocusedWindow()->isStuck()) { - current_workspace->setLastFocusedWindow(blackbox->getFocusedWindow()); + BlackboxWindow *focused = blackbox->getFocusedWindow(); + if (focused && focused->getScreen() == this && ! focused->isStuck()) { + if (focused->getWorkspaceNumber() != current_workspace->getID()) { + fprintf(stderr, "%s is on the wrong workspace, aborting\n", + focused->getTitle()); + abort(); + } + current_workspace->setLastFocusedWindow(focused); blackbox->setFocusedWindow((BlackboxWindow *) 0); } @@ -1079,7 +1083,8 @@ void BScreen::manageWindow(Window w) { XMapRequestEvent mre; mre.window = w; - win->restoreAttributes(); + if (blackbox->isStartup()) + win->restoreAttributes(); win->mapRequestEvent(&mre); } |
