summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLauri Kasanen <cand@gmx.com>2014-09-05 13:14:16 +0000
committerLauri Kasanen <cand@gmx.com>2014-09-05 13:14:16 +0000
commit523c657f2ec9af4606ff55417d423c67eaa50275 (patch)
treeaf5ecd207f0d479fba61be74e90f7d028dfcee5f /src
parent7ebbe0baf453ba66324c830bf7156d2ccaec2f02 (diff)
Robustness fix for the first window
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10278 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl.cxx2
-rw-r--r--src/Fl_x.cxx13
2 files changed, 10 insertions, 5 deletions
diff --git a/src/Fl.cxx b/src/Fl.cxx
index 61263b44d..bcf820410 100644
--- a/src/Fl.cxx
+++ b/src/Fl.cxx
@@ -113,7 +113,7 @@ unsigned char Fl::options_[] = { 0, 0 };
unsigned char Fl::options_read_ = 0;
-Fl_Window *fl_xfocus; // which window X thinks has focus
+Fl_Window *fl_xfocus = NULL; // which window X thinks has focus
Fl_Window *fl_xmousewin;// which window X thinks has FL_ENTER
Fl_Window *Fl::grab_; // most recent Fl::grab()
Fl_Window *Fl::modal_; // topmost modal() window
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx
index 7869791d7..c3f2ea2a3 100644
--- a/src/Fl_x.cxx
+++ b/src/Fl_x.cxx
@@ -2213,12 +2213,17 @@ void Fl_X::activate_window(Window w) {
if (!ewmh_supported())
return;
- Fl_X *x = Fl_X::i(fl_xfocus);
- if (!x)
- return;
+ Window prev = 0;
+
+ if (fl_xfocus) {
+ Fl_X *x = Fl_X::i(fl_xfocus);
+ if (!x)
+ return;
+ prev = x->xid;
+ }
send_wm_event(w, fl_NET_ACTIVE_WINDOW, 1 /* application */,
- 0 /* timestamp */, x->xid /* previously active window */);
+ 0 /* timestamp */, prev /* previously active window */);
}
/* Change an existing window to fullscreen */