Index: src/default_icon.png
===================================================================
Kann nicht anzeigen: Dateityp ist als binär angegeben.
svn:mime-type = image/png
Index: src/include/common.h
===================================================================
--- src/include/common.h	(Revision 3792)
+++ src/include/common.h	(Arbeitskopie)
@@ -278,6 +278,8 @@
 #define META_MINI_ICON_WIDTH 16
 #define META_MINI_ICON_HEIGHT 16
 
+#define META_DEFAULT_ICON_NAME "window"
+
 #define META_PRIORITY_PREFS_NOTIFY   (G_PRIORITY_DEFAULT_IDLE + 10)
 #define META_PRIORITY_WORK_AREA_HINT (G_PRIORITY_DEFAULT_IDLE + 15)
 
Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(Revision 3792)
+++ src/Makefile.am	(Arbeitskopie)
@@ -180,9 +180,8 @@
 install-data-local:
 endif
 
-IMAGES=default_icon.png stock_maximize.png stock_minimize.png stock_delete.png
-VARIABLES=default_icon_data $(srcdir)/default_icon.png \
-          stock_maximize_data $(srcdir)/stock_maximize.png \
+IMAGES=stock_maximize.png stock_minimize.png stock_delete.png
+VARIABLES=stock_maximize_data $(srcdir)/stock_maximize.png \
           stock_minimize_data $(srcdir)/stock_minimize.png \
           stock_delete_data $(srcdir)/stock_delete.png
 
Index: src/ui/ui.c
===================================================================
--- src/ui/ui.c	(Revision 3792)
+++ src/ui/ui.c	(Arbeitskopie)
@@ -574,20 +574,27 @@
 
   if (default_icon == NULL)
     {
-      GdkPixbuf *base;
+      GtkIconTheme *theme;
+      gboolean icon_exists;
 
-      base = gdk_pixbuf_new_from_inline (-1, default_icon_data,
-                                         FALSE,
-                                         NULL);
+      theme = gtk_icon_theme_get_default ();
 
-      g_assert (base);
+      icon_exists = gtk_icon_theme_has_icon (theme, META_DEFAULT_ICON_NAME);
 
-      default_icon = gdk_pixbuf_scale_simple (base,
-                                              META_ICON_WIDTH,
-                                              META_ICON_HEIGHT,
-                                              GDK_INTERP_BILINEAR);
+      if (icon_exists)
+          default_icon = gtk_icon_theme_load_icon (theme,
+                                                   META_DEFAULT_ICON_NAME,
+                                                   META_ICON_WIDTH,
+                                                   0,
+                                                   NULL);
+      else
+          default_icon = gtk_icon_theme_load_icon (theme,
+                                                   "gtk-missing-image",
+                                                   META_ICON_WIDTH,
+                                                   0,
+                                                   NULL);
 
-      g_object_unref (G_OBJECT (base));
+      g_assert (default_icon);
     }
 
   g_object_ref (G_OBJECT (default_icon));
@@ -602,20 +609,27 @@
 
   if (default_icon == NULL)
     {
-      GdkPixbuf *base;
+      GtkIconTheme *theme;
+      gboolean icon_exists;
 
-      base = gdk_pixbuf_new_from_inline (-1, default_icon_data,
-                                         FALSE,
-                                         NULL);
+      theme = gtk_icon_theme_get_default ();
 
-      g_assert (base);
+      icon_exists = gtk_icon_theme_has_icon (theme, META_DEFAULT_ICON_NAME);
 
-      default_icon = gdk_pixbuf_scale_simple (base,
-                                              META_MINI_ICON_WIDTH,
-                                              META_MINI_ICON_HEIGHT,
-                                              GDK_INTERP_BILINEAR);
+      if (icon_exists)
+          default_icon = gtk_icon_theme_load_icon (theme,
+                                                   META_DEFAULT_ICON_NAME,
+                                                   META_MINI_ICON_WIDTH,
+                                                   0,
+                                                   NULL);
+      else
+          default_icon = gtk_icon_theme_load_icon (theme,
+                                                   "gtk-missing-image",
+                                                   META_MINI_ICON_WIDTH,
+                                                   0,
+                                                   NULL);
 
-      g_object_unref (G_OBJECT (base));
+      g_assert (default_icon);
     }
 
   g_object_ref (G_OBJECT (default_icon));
Index: ChangeLog
===================================================================
--- ChangeLog	(Revision 3792)
+++ ChangeLog	(Arbeitskopie)
@@ -1,3 +1,12 @@
+2008-07-16  Patrick Niklaus  <marex@compiz-fusion.org>
+
+        * src/ui/ui.c: Use GtkIconTheme to load the default window icon.
+        Assumes the existence of an icon called "window", otherwise
+        falls back to "gtk-missing-image". Fixes #524343.
+        * src/include/common.h: Add META_DEFAULT_ICON_NAME.
+        * src/Makefile.am: Remove default_icon.png from inlinepixbufs.h.
+        * src/default_icon.png: Removed.
+
 2008-07-14  Thomas Thurman  <tthurman@gnome.org>
 
         * configure.in: Post-release bump to 2.23.89.
