# HG changeset patch # User Matti Hamalainen # Date 1189740573 -10800 # Node ID 5dc0aaa9796601ffcc823bd9a59c6c03e6dd0af7 # Parent 5a267ba155cb45fd09e611f948c67a7120c4209e# Parent 56e2a8704164ff318e1d46b264111cc0380ebf9b Automated merge with file:/home/ccr/audacious/core diff -r 5a267ba155cb -r 5dc0aaa97966 src/audacious/main.c --- a/src/audacious/main.c Fri Sep 14 06:27:59 2007 +0300 +++ b/src/audacious/main.c Fri Sep 14 06:29:33 2007 +0300 @@ -957,6 +957,52 @@ g_object_unref(icon); } +#ifdef GDK_WINDOWING_QUARTZ +static void +set_dock_icon(void) +{ + GdkPixbuf *icon, *pixbuf; + CGColorSpaceRef colorspace; + CGDataProviderRef data_provider; + CGImageRef image; + gpointer data; + gint rowstride, pixbuf_width, pixbuf_height; + gboolean has_alpha; + + icon = gdk_pixbuf_new_from_xpm_data((const gchar **) audacious_player_xpm); + pixbuf = gdk_pixbuf_scale_simple(icon, 128, 128, GDK_INTERP_BILINEAR); + + data = gdk_pixbuf_get_pixels(pixbuf); + pixbuf_width = gdk_pixbuf_get_width(pixbuf); + pixbuf_height = gdk_pixbuf_get_height(pixbuf); + rowstride = gdk_pixbuf_get_rowstride(pixbuf); + has_alpha = gdk_pixbuf_get_has_alpha(pixbuf); + + /* create the colourspace for the CGImage. */ + colorspace = CGColorSpaceCreateDeviceRGB(); + data_provider = CGDataProviderCreateWithData(NULL, data, pixbuf_height * rowstride, NULL); + image = CGImageCreate(pixbuf_width, pixbuf_height, 8, + has_alpha ? 32 : 24, rowstride, colorspace, + has_alpha ? kCGImageAlphaLast : 0, + data_provider, NULL, FALSE, + kCGRenderingIntentDefault); + + /* release the colourspace and data provider, we have what we want. */ + CGDataProviderRelease(data_provider); + CGColorSpaceRelease(colorspace); + + /* set the dock tile images */ + SetApplicationDockTileImage(image); + +#if 0 + /* and release */ + CGImageRelease(image); + g_object_unref(icon); + g_object_unref(pixbuf); +#endif +} +#endif + static void register_aud_stock_icons(void) { @@ -1369,6 +1415,9 @@ register_aud_stock_icons(); bmp_set_default_icon(); +#ifdef GDK_WINDOWING_QUARTZ + set_dock_icon(); +#endif gtk_accel_map_load(bmp_paths[BMP_PATH_ACCEL_FILE]); diff -r 5a267ba155cb -r 5dc0aaa97966 src/audacious/platform/smartinclude.h --- a/src/audacious/platform/smartinclude.h Fri Sep 14 06:27:59 2007 +0300 +++ b/src/audacious/platform/smartinclude.h Fri Sep 14 06:29:33 2007 +0300 @@ -28,3 +28,7 @@ #endif #include + +#ifdef GDK_WINDOWING_QUARTZ +# include +#endif diff -r 5a267ba155cb -r 5dc0aaa97966 src/audacious/ui_jumptotrack.c --- a/src/audacious/ui_jumptotrack.c Fri Sep 14 06:27:59 2007 +0300 +++ b/src/audacious/ui_jumptotrack.c Fri Sep 14 06:29:33 2007 +0300 @@ -41,8 +41,6 @@ #include #include -#include - #include #if defined(USE_REGEX_ONIGURUMA) diff -r 5a267ba155cb -r 5dc0aaa97966 src/audacious/ui_main.c --- a/src/audacious/ui_main.c Fri Sep 14 06:27:59 2007 +0300 +++ b/src/audacious/ui_main.c Fri Sep 14 06:29:33 2007 +0300 @@ -41,8 +41,6 @@ #include #include -#include - #include #if defined(USE_REGEX_ONIGURUMA)