diff --git a/src/Fl.cxx b/src/Fl.cxx index 6742b0bc9a7a9bf0b1d5dcee57375e70b9a7fcbb..f6fef73e3788e9e69efcc2cbd08ad3f930c5fb1d 100644 --- a/src/Fl.cxx +++ b/src/Fl.cxx @@ -659,7 +659,12 @@ Fl_Window* Fl::first_window() { \param[in] window must be shown and not NULL */ Fl_Window* Fl::next_window(const Fl_Window* window) { - Fl_X* i = Fl_X::i(window)->next; + Fl_X* i = window ? Fl_X::i(window) : 0; + if (!i) { + Fl::error("Fl::next_window() failed: window (%p) not shown.", window); + return 0; + } + i = i->next; return i ? i->w : 0; }