]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkmessagedialog.c
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtkmessagedialog.c
index 9261b49980f27c2c02620bd505ce17d7e8c10711..709fcfef0c86cf9710d6bf328bda3e0f398e24e0 100644 (file)
@@ -341,6 +341,7 @@ gtk_message_dialog_init (GtkMessageDialog *dialog)
 
   priv->label = gtk_label_new (NULL);
   priv->image = gtk_image_new_from_stock (NULL, GTK_ICON_SIZE_DIALOG);
+  g_object_set (priv->image, "use-fallback", TRUE, NULL);
   gtk_widget_set_halign (priv->image, GTK_ALIGN_CENTER);
   gtk_widget_set_valign (priv->image, GTK_ALIGN_START);
 
@@ -425,25 +426,30 @@ setup_type (GtkMessageDialog *dialog,
   GtkMessageDialogPrivate *priv = dialog->priv;
   const gchar *stock_id = NULL;
   AtkObject *atk_obj;
+  GIcon *gicon = NULL;
+
   priv->message_type = type;
 
   switch (type)
     {
     case GTK_MESSAGE_INFO:
       stock_id = GTK_STOCK_DIALOG_INFO;
+      gicon = g_themed_icon_new_with_default_fallbacks ("dialog-information-symbolic");
       break;
 
     case GTK_MESSAGE_QUESTION:
       stock_id = GTK_STOCK_DIALOG_QUESTION;
+      gicon = g_themed_icon_new_with_default_fallbacks ("dialog-question-symbolic");
       break;
 
     case GTK_MESSAGE_WARNING:
       stock_id = GTK_STOCK_DIALOG_WARNING;
+      gicon = g_themed_icon_new_with_default_fallbacks ("dialog-warning-symbolic");
       break;
-      
+
     case GTK_MESSAGE_ERROR:
       stock_id = GTK_STOCK_DIALOG_ERROR;
+      gicon = g_themed_icon_new_with_default_fallbacks ("dialog-error-symbolic");
       break;
 
     case GTK_MESSAGE_OTHER:
@@ -454,10 +460,10 @@ setup_type (GtkMessageDialog *dialog,
       break;
     }
 
-  if (stock_id)
-    gtk_image_set_from_stock (GTK_IMAGE (priv->image), stock_id,
-                              GTK_ICON_SIZE_DIALOG);
-      
+  gtk_image_set_from_gicon (GTK_IMAGE (priv->image), gicon, GTK_ICON_SIZE_DIALOG);
+  if (gicon)
+    g_object_unref (gicon);
+
   atk_obj = gtk_widget_get_accessible (GTK_WIDGET (dialog));
   if (GTK_IS_ACCESSIBLE (atk_obj))
     {