]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtklabel.c
Disconnect from combo->entry, not combo. (From: Daniel Skarda
[~andy/gtk] / gtk / gtklabel.c
index 694f9620a81e388babb74afa9547becbb590b4ed..0f30935ce77475a35866b3183beaa3aec367c929 100644 (file)
@@ -38,6 +38,11 @@ static void gtk_label_size_request (GtkWidget      *widget,
                                    GtkRequisition *requisition);
 static gint gtk_label_expose       (GtkWidget      *widget,
                                    GdkEventExpose *event);
+static void gtk_label_state_changed (GtkWidget      *widget,
+                                    guint           previous_state);
+static void gtk_label_style_set            (GtkWidget      *widget,
+                                    GtkStyle       *previous_style);
+
 
 
 static GtkMiscClass *parent_class = NULL;
@@ -85,6 +90,8 @@ gtk_label_class_init (GtkLabelClass *class)
 
   widget_class->size_request = gtk_label_size_request;
   widget_class->expose_event = gtk_label_expose;
+  widget_class->style_set    = gtk_label_style_set;
+  widget_class->state_changed = gtk_label_state_changed;
 }
 
 static void
@@ -365,7 +372,28 @@ gtk_label_expose (GtkWidget      *widget,
   return TRUE;
 }
 
+static void 
+gtk_label_state_changed (GtkWidget      *widget,
+                        guint           previous_state)
+{
+  if (GTK_WIDGET_NO_WINDOW (widget) &&
+      GTK_WIDGET_DRAWABLE (widget))
+    gdk_window_clear_area (widget->window,
+                          widget->allocation.x,
+                          widget->allocation.y,
+                          widget->allocation.width,
+                          widget->allocation.height);
+}
 
-
-
-
+static void 
+gtk_label_style_set    (GtkWidget      *widget,
+                        GtkStyle       *previous_style)
+{
+  if (GTK_WIDGET_NO_WINDOW (widget) &&
+      GTK_WIDGET_DRAWABLE (widget))
+    gdk_window_clear_area (widget->window,
+                          widget->allocation.x,
+                          widget->allocation.y,
+                          widget->allocation.width,
+                          widget->allocation.height);
+}