aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vncviewer/UserDialog.cxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/vncviewer/UserDialog.cxx b/vncviewer/UserDialog.cxx
index c6cc02f7..088b5e29 100644
--- a/vncviewer/UserDialog.cxx
+++ b/vncviewer/UserDialog.cxx
@@ -65,8 +65,16 @@ std::string UserDialog::savedPassword;
static long ret_val = 0;
static void button_cb(Fl_Widget *widget, long val) {
+ Fl_Window* win;
+
ret_val = val;
- widget->window()->hide();
+
+ assert(widget != nullptr);
+ win = dynamic_cast<Fl_Window*>(widget);
+ if (win == nullptr)
+ win = widget->window();
+ assert(win != nullptr);
+ win->hide();
}
UserDialog::UserDialog()