diff options
author | fluxgen <fluxgen> | 2002-01-18 01:27:46 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2002-01-18 01:27:46 (GMT) |
commit | 5cc64f4eb3f1a5cf5ec706cbc05c9eef8bf3ccf3 (patch) | |
tree | 9ddea6737c74d75d9bb78dd79d3dd5d96fe89fc0 /src | |
parent | cf74b88d96c571d3a725a24cd7ef36e5ee200d3a (diff) | |
download | fluxbox_lack-5cc64f4eb3f1a5cf5ec706cbc05c9eef8bf3ccf3.zip fluxbox_lack-5cc64f4eb3f1a5cf5ec706cbc05c9eef8bf3ccf3.tar.bz2 |
catching exception on window creation
Diffstat (limited to 'src')
-rw-r--r-- | src/Screen.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index 88fa659..27373d3 100644 --- a/src/Screen.cc +++ b/src/Screen.cc | |||
@@ -365,7 +365,16 @@ rootcommand("") | |||
365 | continue; | 365 | continue; |
366 | 366 | ||
367 | if (attrib.map_state != IsUnmapped) { | 367 | if (attrib.map_state != IsUnmapped) { |
368 | new FluxboxWindow(children[i], this); | 368 | FluxboxWindow *tempwin = 0; |
369 | try { | ||
370 | tempwin = new FluxboxWindow(children[i], this); | ||
371 | } catch (FluxboxWindow::Error err) { | ||
372 | FluxboxWindow::showError(err); | ||
373 | delete tempwin; | ||
374 | tempwin = 0; | ||
375 | } catch (...) { | ||
376 | cerr<<"FATAL: Unknown catch"<<endl; | ||
377 | } | ||
369 | 378 | ||
370 | FluxboxWindow *win = fluxbox->searchWindow(children[i]); | 379 | FluxboxWindow *win = fluxbox->searchWindow(children[i]); |
371 | if (win) { | 380 | if (win) { |