]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/tglbtn.cpp
handle EINTR when reading data from the wakeup pipe
[wxWidgets.git] / src / gtk / tglbtn.cpp
index 63fd5414cc7513dbb2d56b88b7cb7fc588b064b6..97306a9a0412eb37a0a330bddb8c164d261f4078 100644 (file)
@@ -146,11 +146,18 @@ void wxBitmapToggleButton::OnSetBitmap()
 
 bool wxBitmapToggleButton::Enable(bool enable /*=true*/)
 {
+    bool isEnabled = IsEnabled();
+
     if (!wxControl::Enable(enable))
         return false;
 
     gtk_widget_set_sensitive(GTK_BIN(m_widget)->child, enable);
 
+    if (!isEnabled && enable)
+    {
+        GTKFixSensitivity();
+    }
+
     return true;
 }
 
@@ -278,11 +285,18 @@ void wxToggleButton::SetLabel(const wxString& label)
 
 bool wxToggleButton::Enable(bool enable /*=true*/)
 {
+    bool isEnabled = IsEnabled();
+
     if (!wxControl::Enable(enable))
         return false;
 
     gtk_widget_set_sensitive(GTK_BIN(m_widget)->child, enable);
 
+    if (!isEnabled && enable)
+    {
+        GTKFixSensitivity();
+    }
+
     return true;
 }