Code

Fix #192549 "selected style indicator can only call fill&stroke dialog once",
authorgustav_b <gustav_b@users.sourceforge.net>
Sun, 17 Feb 2008 16:27:23 +0000 (16:27 +0000)
committergustav_b <gustav_b@users.sourceforge.net>
Sun, 17 Feb 2008 16:27:23 +0000 (16:27 +0000)
regression by r17207. (Request dialog to presented when panel signals present.)

src/ui/dialog/panel-dialog.h

index 6a2218a06014018645e2917b2d8e74615e6774d1..eebd323d6a54ed6ff252c5fd4295ad68de1e7fa2 100644 (file)
@@ -74,6 +74,8 @@ public:
     inline virtual void present();
 
 private:
+    inline void _presentDialog();
+
     PanelDialog();  // no constructor without params
     PanelDialog(PanelDialog<Behavior> const &d);                      // no copy
     PanelDialog<Behavior>& operator=(PanelDialog<Behavior> const &d); // no assign
@@ -134,6 +136,7 @@ PanelDialog<B>::PanelDialog(Panel &panel, char const *prefs_path, int const verb
 {
     Gtk::VBox *vbox = get_vbox();
     _panel.signalResponse().connect(sigc::mem_fun(*this, &PanelDialog::_handleResponse));
+    _panel.signalPresent().connect(sigc::mem_fun(*this, &PanelDialog::_presentDialog));
 
     vbox->pack_start(_panel, true, true, 0);
 
@@ -168,10 +171,16 @@ template <typename B>
 void
 PanelDialog<B>::present()
 {
-    Dialog::present(); 
     _panel.present(); 
 }
 
+template <typename B>
+void
+PanelDialog<B>::_presentDialog()
+{
+    Dialog::present(); 
+}
+
 PanelDialog<Behavior::FloatingBehavior>::PanelDialog(Panel &panel, char const *prefs_path,
                                                      int const verb_num, Glib::ustring const &apply_label) :
     PanelDialogBase(panel, prefs_path, verb_num, apply_label),