commit 2649fb8621ba93b30596a343999f06cbfcc172ea
Author: Maia Kozheva <si...@ubuntu.com>
Date:   Sat Aug 28 22:03:41 2010 +0700

    Make gtkpod build with -DG_*_DISABLE_DEPRECATED; switch to cairo rendering 
for star rating (code taken from Rhythmbox again)

 configure.in                                       |    4 +
 libgtkpod/charset.c                                |   71 --------------------
 libgtkpod/charset.h                                |    1 -
 libgtkpod/clientserver.c                           |   17 ++++-
 libgtkpod/file.c                                   |   43 ++++++------
 libgtkpod/gp_itdb.c                                |    7 --
 libgtkpod/mp4file.c                                |    8 +-
 plugins/core_preferences/core_prefs.c              |    2 +-
 plugins/cover_display/cover_display_preferences.c  |    2 +-
 plugins/cover_display/display_coverart.c           |    6 +-
 plugins/cover_display/plugin.c                     |    2 +-
 plugins/coverweb/coverweb.c                        |    6 ++-
 plugins/coverweb/coverweb_preferences.c            |    2 +-
 plugins/coverweb/plugin.c                          |    2 +-
 plugins/details_editor/details.c                   |   10 ++--
 plugins/exporter/file_export.c                     |    8 +-
 plugins/media_player/plugin.c                      |    2 +-
 plugins/photo_editor/display_photo.c               |    2 +-
 plugins/playlist_display/display_playlists.c       |    2 +-
 plugins/repository_editor/repository_editor.c      |    8 +-
 plugins/sorttab_display/display_sorttabs.c         |   42 ++++--------
 plugins/sorttab_display/display_sorttabs.h         |    1 -
 .../sorttab_display/sorttab_display_preferences.c  |    2 +-
 plugins/track_display/display_tracks.c             |   12 ++--
 plugins/track_display/rb_cell_renderer_rating.c    |    6 +-
 plugins/track_display/rb_cell_renderer_rating.h    |   12 ++--
 plugins/track_display/rb_rating_helper.c           |   16 ++--
 plugins/track_display/sort_window.c                |    7 +-
 plugins/track_display/track_display_preferences.c  |    2 +-
 29 files changed, 114 insertions(+), 191 deletions(-)
---
diff --git a/configure.in b/configure.in
index 501d181..2b29f9d 100644
--- a/configure.in
+++ b/configure.in
@@ -89,8 +89,12 @@ if test "x$have_gsealed_gdk" = "xyes"; then
     AC_DEFINE(HAVE_GSEALED_GDK, 1, [Define if GDK has GSEAL])
 fi
 
+dnl Force C99 mode (no implicit int declarations)
+CFLAGS="$CFLAGS -std=gnu99 -Werror-implicit-function-declaration"
+
 dnl Preparing for GTK3 transition
 GTK_CLEANLINESS_FLAGS="-DG_DISABLE_SINGLE_INCLUDES 
-DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES"
+GTK_CLEANLINESS_FLAGS="$GTK_CLEANLINESS_FLAGS -DG_DISABLE_DEPRECATED 
-DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED 
-DGTK_DISABLE_DEPRECATED"
 GTK_CLEANLINESS_FLAGS="$GTK_CLEANLINESS_FLAGS -DGSEAL_ENABLE"
 
 CFLAGS="$CFLAGS $GTK_CFLAGS $GLIB_CFLAGS $GMODULE_CFLAGS $GTHREAD_CFLAGS 
$LIBGLADE_CFLAGS $LIBGPOD_CFLAGS $LIBANJUTA_CFLAGS $LIBGDL_CFLAGS 
$GTK_CLEANLINESS_FLAGS"
diff --git a/libgtkpod/charset.c b/libgtkpod/charset.c
index 58e3476..c186065 100644
--- a/libgtkpod/charset.c
+++ b/libgtkpod/charset.c
@@ -142,77 +142,6 @@ static const CharsetInfo charset_info[] = {
     {NULL, NULL}
 };
 
-
-
-/* Sets up the charsets to choose from in the "combo". It presets the
-   charset stored in cfg->charset (or "System Charset" if none is set
-   there
-
-   DEPRECATED - use charset_init_combo_box with GtkComboBox
-*/
-void charset_init_combo (GtkCombo *combo)
-{
-    gchar *current_charset;
-    gchar *description;
-    const CharsetInfo *ci;
-    static GList *charsets = NULL; /* list with choices -- takes a while to
-                                    * initialize, so we only do it once */
-
-    current_charset = prefs_get_string("charset");
-    if ((current_charset == NULL) || (strlen (current_charset) == 0))
-    {
-       description = g_strdup (_("System Charset"));
-    }
-    else
-    {
-       description = charset_to_description (current_charset);
-    }
-    if (charsets == NULL)
-    { /* set up list with charsets */
-       FILE *fp;
-
-       charsets = g_list_append (charsets, _("System Charset"));
-       /* now add all the charset descriptions in the list above */
-       ci=charset_info;
-       while (ci->descr != NULL)
-       {
-           charsets = g_list_append (charsets, _(ci->descr));
-           ++ci;
-       }
-       /* let's add all available charsets returned by "iconv -l" */
-       /* The code assumes that "iconv -l" returns a list with the
-          name of one charset in each line, each valid line being
-          terminated by "//".  */
-       fp = popen ("iconv -l", "r");
-       if (fp)
-       {
-           gchar buf[PATH_MAX];
-           /* read one line of output at a time */
-           while (fgets (buf, PATH_MAX, fp))
-           {
-               /* only consider lines ending on "//" */
-               gchar *bufp = g_strrstr (buf, "//\n");
-               if (bufp)
-               {  /* add everything before "//" to our charset list */
-                   gchar *bufpp = buf;
-                   *bufp = 0;  /* shorten string */
-                   while ((*bufpp == ' ') || (*bufpp == 0x09))
-                       ++bufpp; /* skip whitespace */
-                   if (*bufpp)
-                       charsets = g_list_append (charsets, g_strdup (bufpp));
-               }
-           }
-           pclose (fp);
-       }
-    }
-    /* set pull down items */
-    gtk_combo_set_popdown_strings (GTK_COMBO (combo), charsets);
-    /* set standard entry */
-    gtk_entry_set_text (GTK_ENTRY (GTK_COMBO (combo)->entry), description);
-    g_free (description);
-    g_free(current_charset);
-}
-
 /* Sets up the charsets to choose from in the "combo". It presets the
    charset stored in cfg->charset (or "System Charset" if none is set
    there */
diff --git a/libgtkpod/charset.h b/libgtkpod/charset.h
index c479abb..6e140b0 100644
--- a/libgtkpod/charset.h
+++ b/libgtkpod/charset.h
@@ -40,7 +40,6 @@
 
 #define GTKPOD_JAPAN_AUTOMATIC "gtkpod-japan-automatic"
 
-void charset_init_combo (GtkCombo *combo);
 void charset_init_combo_box (GtkComboBox *combo);
 gchar *charset_from_description (gchar *descr);
 gchar *charset_to_description (gchar *charset);
diff --git a/libgtkpod/clientserver.c b/libgtkpod/clientserver.c
index 18adf2d..9a34260 100644
--- a/libgtkpod/clientserver.c
+++ b/libgtkpod/clientserver.c
@@ -48,7 +48,10 @@
 #include <sys/un.h>
 #include <unistd.h>
 
+/* TODO: Toss this whole thing out in favor of libunique/GApplication */
+
 static gint ssock = -1;
+static GIOChannel *channel = NULL;
 static struct sockaddr_un *saddr = NULL;
 static guint inp_handler;
 
@@ -92,6 +95,7 @@ static gboolean socket_used() {
     set_path(server);
     if (g_file_test(server->sun_path, G_FILE_TEST_EXISTS)) {
         gint csock = socket(AF_UNIX, SOCK_STREAM, 0);
+        
         if (csock != -1) {
             server->sun_family = AF_UNIX;
             if (connect(csock, (struct sockaddr *) server, sizeof(struct 
sockaddr_un)) != -1) {
@@ -102,6 +106,7 @@ static gboolean socket_used() {
             close(csock);
         }
     }
+    
     g_free(server);
     return result;
 }
@@ -141,7 +146,8 @@ static gboolean register_playcount(gchar *file) {
     return TRUE;
 }
 
-void received_message(gpointer data, gint source, GdkInputCondition condition) 
{
+gboolean received_message(GIOChannel *channel, GIOCondition condition, 
gpointer data) {
+    gint source = g_io_channel_unix_get_fd(channel);
     gint csock, rval;
     gchar *buf;
     /*    printf("received message\n");*/
@@ -174,6 +180,8 @@ void received_message(gpointer data, gint source, 
GdkInputCondition condition) {
         close(csock);
     }
     g_free(buf);
+
+    return TRUE;
 }
 
 void server_setup(void) {
@@ -197,7 +205,8 @@ void server_setup(void) {
             /* socket must be non-blocking -- otherwise
              received_message() will block */
             fcntl(ssock, F_SETFL, O_NONBLOCK);
-            inp_handler = gtk_input_add_full(ssock, GDK_INPUT_READ, 
received_message, NULL, NULL, NULL);
+            channel = g_io_channel_unix_new(ssock);
+            inp_handler = g_io_add_watch(channel, G_IO_IN, received_message, 
NULL);
         }
         else {
             fprintf(stderr, "server: bind error: %s", strerror(errno));
@@ -212,7 +221,9 @@ void server_setup(void) {
 
 void server_shutdown(void) {
     if (ssock != -1) {
-        gtk_input_remove(inp_handler);
+        if (channel != NULL)
+            g_io_channel_unref(channel);
+        
         close(ssock);
         ssock = -1;
     }
diff --git a/libgtkpod/file.c b/libgtkpod/file.c
index bea7d69..a19d167 100644
--- a/libgtkpod/file.c
+++ b/libgtkpod/file.c
@@ -122,47 +122,47 @@ FileType determine_file_type(const gchar *path) {
     path_utf8 = charset_to_utf8(path);
     suf = strrchr(path_utf8, '.');
     if (suf) {
-        if (g_strcasecmp(suf, ".mp3") == 0)
+        if (g_ascii_strcasecmp(suf, ".mp3") == 0)
             type = FILE_TYPE_MP3;
-        else if (g_strcasecmp(suf, ".m4a") == 0)
+        else if (g_ascii_strcasecmp(suf, ".m4a") == 0)
             type = FILE_TYPE_M4A;
-        else if (g_strcasecmp(suf, ".m4p") == 0)
+        else if (g_ascii_strcasecmp(suf, ".m4p") == 0)
             type = FILE_TYPE_M4P;
-        else if (g_strcasecmp(suf, ".m4b") == 0)
+        else if (g_ascii_strcasecmp(suf, ".m4b") == 0)
             type = FILE_TYPE_M4B;
-        else if (g_strcasecmp(suf, ".wav") == 0)
+        else if (g_ascii_strcasecmp(suf, ".wav") == 0)
             type = FILE_TYPE_WAV;
 
-        else if (g_strcasecmp(suf, ".m4v") == 0)
+        else if (g_ascii_strcasecmp(suf, ".m4v") == 0)
             type = FILE_TYPE_M4V;
-        else if (g_strcasecmp(suf, ".mp4") == 0)
+        else if (g_ascii_strcasecmp(suf, ".mp4") == 0)
             type = FILE_TYPE_MP4;
-        else if (g_strcasecmp(suf, ".mov") == 0)
+        else if (g_ascii_strcasecmp(suf, ".mov") == 0)
             type = FILE_TYPE_MOV;
-        else if (g_strcasecmp(suf, ".mpg") == 0)
+        else if (g_ascii_strcasecmp(suf, ".mpg") == 0)
             type = FILE_TYPE_MPG;
-        else if (g_strcasecmp(suf, ".mpeg") == 0)
+        else if (g_ascii_strcasecmp(suf, ".mpeg") == 0)
             type = FILE_TYPE_MPG;
 
-        else if (g_strcasecmp(suf, ".m3u") == 0)
+        else if (g_ascii_strcasecmp(suf, ".m3u") == 0)
             type = FILE_TYPE_M3U;
-        else if (g_strcasecmp(suf, ".pls") == 0)
+        else if (g_ascii_strcasecmp(suf, ".pls") == 0)
             type = FILE_TYPE_PLS;
-        else if (g_strcasecmp(suf, ".oga") == 0)
+        else if (g_ascii_strcasecmp(suf, ".oga") == 0)
             type = FILE_TYPE_OGG;
-        else if (g_strcasecmp(suf, ".ogg") == 0)
+        else if (g_ascii_strcasecmp(suf, ".ogg") == 0)
             type = FILE_TYPE_OGG;
-        else if (g_strcasecmp(suf, ".ogv") == 0)
+        else if (g_ascii_strcasecmp(suf, ".ogv") == 0)
             type = FILE_TYPE_OGG;
-        else if (g_strcasecmp(suf, ".ogx") == 0)
+        else if (g_ascii_strcasecmp(suf, ".ogx") == 0)
             type = FILE_TYPE_OGG;
-        else if (g_strcasecmp(suf, ".flac") == 0)
+        else if (g_ascii_strcasecmp(suf, ".flac") == 0)
             type = FILE_TYPE_FLAC;
 
         else {
             const gchar **extp = imageext;
             while (*extp) {
-                if (g_strcasecmp(suf, *extp) == 0) {
+                if (g_ascii_strcasecmp(suf, *extp) == 0) {
                     type = FILE_TYPE_IMAGE;
                     break;
                 }
@@ -1191,8 +1191,8 @@ static Track *get_track_info_from_file(gchar *name, Track 
*orig_track) {
            nti->mediatype = ITDB_MEDIATYPE_AUDIO;
            if (nti->genre)
            {
-               if (g_strcasecmp (nti->genre, "audiobook") == 0) nti->mediatype 
= ITDB_MEDIATYPE_AUDIOBOOK;
-               else if (g_strcasecmp (nti->genre, "podcast") == 0) 
nti->mediatype = ITDB_MEDIATYPE_PODCAST;
+               if (g_ascii_strcasecmp (nti->genre, "audiobook") == 0) 
nti->mediatype = ITDB_MEDIATYPE_AUDIOBOOK;
+               else if (g_ascii_strcasecmp (nti->genre, "podcast") == 0) 
nti->mediatype = ITDB_MEDIATYPE_PODCAST;
            }
        }
        break;
@@ -1910,7 +1910,8 @@ gboolean add_track_by_filename(iTunesDB *itdb, gchar 
*fname, Playlist *plitem, g
                     gchar *music_dir = itdb_get_music_dir(mountpoint);
                     if (music_dir) {
                         gchar *cdir = g_strdup_printf("%s%c", music_dir, 
G_DIR_SEPARATOR);
-                        if (g_strncasecmp(fname, cdir, strlen(cdir)) == 0) { 
/* Yes */
+                        /* TODO: Use GIO for file/directory operations */
+                        if (g_ascii_strncasecmp(fname, cdir, strlen(cdir)) == 
0) { /* Yes */
                             gchar *fname_i = fname + strlen(mountpoint);
                             if (*fname_i == G_DIR_SEPARATOR)
                                 ++fname_i;
diff --git a/libgtkpod/gp_itdb.c b/libgtkpod/gp_itdb.c
index e5ac01b..3cbbcfd 100644
--- a/libgtkpod/gp_itdb.c
+++ b/libgtkpod/gp_itdb.c
@@ -750,7 +750,6 @@ void gp_track_validate_entries(Track *track) {
 void gp_init(int argc, char *argv[]) {
     gchar *cfgdir;
     gint i;
-    GtkTooltips *main_tooltips;
 
     prefs_init(argc, argv);
     cfgdir = prefs_get_cfgdir();
@@ -810,12 +809,6 @@ void gp_init(int argc, char *argv[]) {
     /* Load libmp4v2 */
     mp4_init();
 
-    /* Create tooltips */
-    main_tooltips = gtk_tooltips_new();
-    g_object_set_data(G_OBJECT (gtkpod_app), "main_tooltips", main_tooltips);
-    /* indicate that main_tooltips was set up */
-    g_object_set_data(G_OBJECT (gtkpod_app), "main_tooltips_initialised", 
"set");
-
     g_free(cfgdir);
 }
 
diff --git a/libgtkpod/mp4file.c b/libgtkpod/mp4file.c
index 9bf17b6..d241233 100644
--- a/libgtkpod/mp4file.c
+++ b/libgtkpod/mp4file.c
@@ -806,13 +806,13 @@ Track *mp4_get_file_info (gchar *mp4FileName)
                value = strrchr (mp4FileName, '.');
                if (value)
                {
-                   if (g_strcasecmp (value, ".m4a") == 0)
+                   if (g_ascii_strcasecmp (value, ".m4a") == 0)
                        track->filetype = g_strdup ("AAC audio file");
-                   if (g_strcasecmp (value, ".m4p") == 0)
+                   if (g_ascii_strcasecmp (value, ".m4p") == 0)
                        track->filetype = g_strdup ("Protected AAC audio file");
-                   if (g_strcasecmp (value, ".m4b") == 0)
+                   if (g_ascii_strcasecmp (value, ".m4b") == 0)
                        track->filetype = g_strdup ("AAC audio book file");
-                   if (g_strcasecmp (value, ".mp4") == 0)
+                   if (g_ascii_strcasecmp (value, ".mp4") == 0)
                        track->filetype = g_strdup ("MP4 video file");
                }
                if (prefs_get_int("readtags"))
diff --git a/plugins/core_preferences/core_prefs.c 
b/plugins/core_preferences/core_prefs.c
index 0d28d3a..b913fe1 100644
--- a/plugins/core_preferences/core_prefs.c
+++ b/plugins/core_preferences/core_prefs.c
@@ -856,7 +856,7 @@ static GtkWidget *create_preference_notebook() {
     }
     notebook = GTK_WIDGET (gtk_builder_get_object (builder, 
"settings_notebook"));
     GtkWidget *parent = gtk_widget_get_parent(notebook);
-    gtk_widget_ref(notebook);
+    g_object_ref(notebook);
     gtk_container_remove(GTK_CONTAINER(parent), notebook);
     gtk_widget_destroy(parent);
 
diff --git a/plugins/cover_display/cover_display_preferences.c 
b/plugins/cover_display/cover_display_preferences.c
index 94e2229..637028a 100644
--- a/plugins/cover_display/cover_display_preferences.c
+++ b/plugins/cover_display/cover_display_preferences.c
@@ -79,7 +79,7 @@ GtkWidget *init_cover_preferences(gchar *glade_path) {
     coverart_bgcolorselect_button = gtkpod_xml_get_widget (pref_xml, 
"coverart_display_bg_button");
     coverart_fgcolorselect_button = gtkpod_xml_get_widget (pref_xml, 
"coverart_display_fg_button");
 
-    gtk_widget_ref(notebook);
+    g_object_ref(notebook);
 
     color = coverart_get_background_display_color();
     gtk_color_button_set_color 
(GTK_COLOR_BUTTON(coverart_bgcolorselect_button), color);
diff --git a/plugins/cover_display/display_coverart.c 
b/plugins/cover_display/display_coverart.c
index 6847997..6d0bbab 100644
--- a/plugins/cover_display/display_coverart.c
+++ b/plugins/cover_display/display_coverart.c
@@ -193,7 +193,7 @@ void coverart_init_display(GtkWidget *parent, gchar 
*glade_path) {
     g_return_if_fail (cdwidget->cdslider);
     g_return_if_fail (cdwidget->draw_area);
     /* according to GTK FAQ: move a widget to a new parent */
-    gtk_widget_ref(cdwidget->contentpanel);
+    g_object_ref(cdwidget->contentpanel);
     gtk_container_remove(GTK_CONTAINER (cover_temp_window), 
cdwidget->contentpanel);
     gtk_widget_destroy(cover_temp_window);
 
@@ -209,13 +209,13 @@ void coverart_init_display(GtkWidget *parent, gchar 
*glade_path) {
         g_ptr_array_add(cdwidget->cdcovers, cover);
         cover = NULL;
     }
-    gtk_box_pack_start_defaults(GTK_BOX(cdwidget->canvasbox), 
GTK_WIDGET(cdwidget->draw_area));
+    gtk_box_pack_start(GTK_BOX(cdwidget->canvasbox), 
GTK_WIDGET(cdwidget->draw_area), TRUE, TRUE, 0);
 
     /* create the expose event for the drawing area */
     g_signal_connect (G_OBJECT (cdwidget->draw_area), "expose_event", 
G_CALLBACK (on_drawing_area_exposed), NULL);
     gtk_widget_add_events(cdwidget->draw_area, GDK_BUTTON_PRESS_MASK);
     /* set up some callback events on the main scaled image */
-    g_signal_connect(GTK_OBJECT(cdwidget->draw_area), "button-press-event", 
GTK_SIGNAL_FUNC(on_main_cover_image_clicked), NULL);
+    g_signal_connect(GTK_OBJECT(cdwidget->draw_area), "button-press-event", 
G_CALLBACK(on_main_cover_image_clicked), NULL);
 
     /* Dnd destinaton for foreign image files */
     gtk_drag_dest_set(cdwidget->canvasbox, 0, coverart_drop_types, 
TGNR(coverart_drop_types), GDK_ACTION_COPY
diff --git a/plugins/cover_display/plugin.c b/plugins/cover_display/plugin.c
index e68fead..ee7fd8a 100644
--- a/plugins/cover_display/plugin.c
+++ b/plugins/cover_display/plugin.c
@@ -84,7 +84,7 @@ static gboolean activate_plugin(AnjutaPlugin *plugin) {
 
     /* Add widget in Shell. Any number of widgets can be added */
     cover_display_plugin->cover_window = gtk_scrolled_window_new(NULL, NULL);
-    gtk_widget_ref(cover_display_plugin->cover_window);
+    g_object_ref(cover_display_plugin->cover_window);
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW 
(cover_display_plugin->cover_window), GTK_POLICY_AUTOMATIC, 
GTK_POLICY_AUTOMATIC);
     gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW 
(cover_display_plugin->cover_window), GTK_SHADOW_IN);
 
diff --git a/plugins/coverweb/coverweb.c b/plugins/coverweb/coverweb.c
index c5142c3..4a50568 100644
--- a/plugins/coverweb/coverweb.c
+++ b/plugins/coverweb/coverweb.c
@@ -109,7 +109,7 @@ void update_bookmark_menu() {
     for (i = 0; i < g_list_length(bookmarks); ++i) {
         gchar *bookmark = g_list_nth_data(bookmarks, i);
         GtkWidget *bookitem = gtk_menu_item_new_with_label(bookmark);
-        gtk_menu_append(GTK_MENU(browser->bookmark_menu), bookitem);
+        gtk_menu_shell_append(GTK_MENU_SHELL (browser->bookmark_menu), 
bookitem);
         g_signal_connect (G_OBJECT (bookitem), "activate", 
G_CALLBACK(bookmark_menu_item_cb), (gpointer) browser);
         gtk_widget_show(bookitem);
     }
@@ -127,7 +127,11 @@ static void create_menubar() {
 
 static void create_toolbar() {
     browser->toolbar = gtk_toolbar_new();
+#ifndef GTK_ORIENTABLE
     gtk_toolbar_set_orientation(GTK_TOOLBAR (browser->toolbar), 
GTK_ORIENTATION_HORIZONTAL);
+#else
+    gtk_orientable_set_orientation(GTK_ORIENTABLE (browser->toolbar), 
GTK_ORIENTATION_HORIZONTAL);
+#endif
     gtk_toolbar_set_style(GTK_TOOLBAR (browser->toolbar), 
GTK_TOOLBAR_BOTH_HORIZ);
 
     GtkToolItem* item;
diff --git a/plugins/coverweb/coverweb_preferences.c 
b/plugins/coverweb/coverweb_preferences.c
index 31c80ff..ba3897c 100644
--- a/plugins/coverweb/coverweb_preferences.c
+++ b/plugins/coverweb/coverweb_preferences.c
@@ -173,7 +173,7 @@ GtkWidget *init_coverweb_preferences(gchar *glade_path) {
     notebook = gtkpod_xml_get_widget(pref_xml, "coverweb_settings_notebook");
     bookmarks_view = gtkpod_xml_get_widget(pref_xml, "bookmarks_view");
 
-    gtk_widget_ref(notebook);
+    g_object_ref(notebook);
 
     setup_bookmarks_tree (GTK_TREE_VIEW(bookmarks_view), TRUE);
 
diff --git a/plugins/coverweb/plugin.c b/plugins/coverweb/plugin.c
index 3e7f30b..361d747 100644
--- a/plugins/coverweb/plugin.c
+++ b/plugins/coverweb/plugin.c
@@ -85,7 +85,7 @@ static gboolean activate_plugin(AnjutaPlugin *plugin) {
 
     /* Add widget in Shell. Any number of widgets can be added */
     cover_web_plugin->coverweb_window = gtk_scrolled_window_new(NULL, NULL);
-    gtk_widget_ref(cover_web_plugin->coverweb_window);
+    g_object_ref(cover_web_plugin->coverweb_window);
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW 
(cover_web_plugin->coverweb_window), GTK_POLICY_NEVER, GTK_POLICY_NEVER);
     gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW 
(cover_web_plugin->coverweb_window), GTK_SHADOW_IN);
 
diff --git a/plugins/details_editor/details.c b/plugins/details_editor/details.c
index 4fd8572..2a08cf3 100644
--- a/plugins/details_editor/details.c
+++ b/plugins/details_editor/details.c
@@ -1413,17 +1413,17 @@ static void create_details_editor_view() {
     details_window = gtkpod_xml_get_widget(details_view->xml, 
"details_window");
     viewport = gtkpod_xml_get_widget(details_view->xml, "details_container");
     /* according to GTK FAQ: move a widget to a new parent */
-    gtk_widget_ref(viewport);
+    g_object_ref(viewport);
     gtk_container_remove(GTK_CONTAINER (details_window), viewport);
     g_free(glade_path);
 
     /* Add widget in Shell. */
     details_editor_plugin->details_window = gtk_scrolled_window_new(NULL, 
NULL);
-    gtk_widget_ref(details_editor_plugin->details_window);
+    g_object_ref(details_editor_plugin->details_window);
     details_editor_plugin->details_view = viewport;
-    gtk_widget_ref(details_editor_plugin->details_view);
+    g_object_ref(details_editor_plugin->details_view);
     details_editor_plugin->details_notebook = 
gtkpod_xml_get_widget(details_view->xml, "details_notebook");
-    gtk_widget_ref(details_editor_plugin->details_notebook);
+    g_object_ref(details_editor_plugin->details_notebook);
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW 
(details_editor_plugin->details_window), GTK_POLICY_AUTOMATIC, 
GTK_POLICY_AUTOMATIC);
     gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW 
(details_editor_plugin->details_window), GTK_SHADOW_IN);
 
@@ -1433,7 +1433,7 @@ static void create_details_editor_view() {
     details_view->window = details_editor_plugin->details_window;
 
     /* we don't need these any more */
-    gtk_widget_unref(viewport);
+    g_object_unref(viewport);
     gtk_widget_destroy(details_window);
 
     for (i = 1; i < T_ITEM_NUM; ++i) {
diff --git a/plugins/exporter/file_export.c b/plugins/exporter/file_export.c
index a2ccc2f..dd296ed 100644
--- a/plugins/exporter/file_export.c
+++ b/plugins/exporter/file_export.c
@@ -547,11 +547,11 @@ void export_tracks_as_files(GList *tracks, GList 
**filenames, gboolean display,
     fcd->fc = fc;
 
     /* according to GTK FAQ: move a widget to a new parent */
-    gtk_widget_ref(options);
+    g_object_ref(options);
     gtk_container_remove(GTK_CONTAINER (win), options);
     /* set extra options */
     gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER (fc), options);
-    gtk_widget_unref(options);
+    g_object_unref(options);
 
     gtk_widget_destroy(win);
 
@@ -949,11 +949,11 @@ void export_tracks_to_playlist_file(GList *tracks) {
     fcd->fc = fc;
 
     /* according to GTK FAQ: move a widget to a new parent */
-    gtk_widget_ref(options);
+    g_object_ref(options);
     gtk_container_remove(GTK_CONTAINER (win), options);
     /* set extra options */
     gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER (fc), options);
-    gtk_widget_unref(options);
+    g_object_unref(options);
 
     gtk_widget_destroy(win);
 
diff --git a/plugins/media_player/plugin.c b/plugins/media_player/plugin.c
index eb4f6df..82241a1 100644
--- a/plugins/media_player/plugin.c
+++ b/plugins/media_player/plugin.c
@@ -70,7 +70,7 @@ static gboolean activate_plugin(AnjutaPlugin *plugin) {
 
     /* Add widget in Shell. Any number of widgets can be added */
     media_player_plugin->media_player_window = gtk_scrolled_window_new(NULL, 
NULL);
-    gtk_widget_ref(media_player_plugin->media_player_window);
+    g_object_ref(media_player_plugin->media_player_window);
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW 
(media_player_plugin->media_player_window), GTK_POLICY_NEVER, GTK_POLICY_NEVER);
     gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW 
(media_player_plugin->media_player_window), GTK_SHADOW_IN);
 
diff --git a/plugins/photo_editor/display_photo.c 
b/plugins/photo_editor/display_photo.c
index 8a30908..951f889 100644
--- a/plugins/photo_editor/display_photo.c
+++ b/plugins/photo_editor/display_photo.c
@@ -155,7 +155,7 @@ static void create_photo_editor() {
 
     /* Add widget in Shell. Any number of widgets can be added */
     photo_editor_plugin->photo_window = gtk_scrolled_window_new(NULL, NULL);
-    gtk_widget_ref(photo_editor_plugin->photo_window);
+    g_object_ref(photo_editor_plugin->photo_window);
     photo_editor->window = photo_editor_plugin->photo_window;
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (photo_editor->window), 
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
     gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW 
(photo_editor->window), GTK_SHADOW_IN);
diff --git a/plugins/playlist_display/display_playlists.c 
b/plugins/playlist_display/display_playlists.c
index 7552212..e3619c2 100644
--- a/plugins/playlist_display/display_playlists.c
+++ b/plugins/playlist_display/display_playlists.c
@@ -1719,7 +1719,7 @@ gint tree_view_get_cell_from_pos(GtkTreeView *view, guint 
x, guint y, GtkCellRen
     if (col == NULL)
         return -1; /* not found */
 
-    cells = gtk_tree_view_column_get_cell_renderers(col);
+    cells = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(col));
 
     gtk_tree_view_get_cell_area(view, path, col, &rect);
     gtk_tree_path_free(path);
diff --git a/plugins/repository_editor/repository_editor.c 
b/plugins/repository_editor/repository_editor.c
index d627b4a..41919b1 100644
--- a/plugins/repository_editor/repository_editor.c
+++ b/plugins/repository_editor/repository_editor.c
@@ -1319,14 +1319,14 @@ static void create_repository_editor_view() {
     g_free(glade_path);
 
     /* according to GTK FAQ: move a widget to a new parent */
-    gtk_widget_ref(viewport);
+    g_object_ref(viewport);
     gtk_container_remove(GTK_CONTAINER (repo_window), viewport);
 
     /* Add widget in Shell. Any number of widgets can be added */
     repository_editor_plugin->repo_window = gtk_scrolled_window_new(NULL, 
NULL);
-    gtk_widget_ref(repository_editor_plugin->repo_window);
+    g_object_ref(repository_editor_plugin->repo_window);
     repository_editor_plugin->repo_view = viewport;
-    gtk_widget_ref(repository_editor_plugin->repo_view);
+    g_object_ref(repository_editor_plugin->repo_view);
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW 
(repository_editor_plugin->repo_window), GTK_POLICY_AUTOMATIC, 
GTK_POLICY_AUTOMATIC);
     gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW 
(repository_editor_plugin->repo_window), GTK_SHADOW_IN);
 
@@ -1336,7 +1336,7 @@ static void create_repository_editor_view() {
     repository_view->window = repository_editor_plugin->repo_window;
 
     /* we don't need these any more */
-    gtk_widget_unref(viewport);
+    g_object_unref(viewport);
     gtk_widget_destroy(repo_window);
 
     /* widget names and corresponding keys for 'standard' toggle
diff --git a/plugins/sorttab_display/display_sorttabs.c 
b/plugins/sorttab_display/display_sorttabs.c
index 6d97b2b..3bdee6b 100644
--- a/plugins/sorttab_display/display_sorttabs.c
+++ b/plugins/sorttab_display/display_sorttabs.c
@@ -273,7 +273,7 @@ static void st_set_string_compare_func(guint inst, guint 
page_num) {
 }
 
 /* callback */
-static void on_st_switch_page(GtkNotebook *notebook, GtkNotebookPage *page, 
guint page_num, gpointer user_data) {
+static void on_st_switch_page(GtkNotebook *notebook, GtkWidget *page, guint 
page_num, gpointer user_data) {
     guint inst = GPOINTER_TO_UINT( user_data );
 
     /*     printf ("switch_page: inst/page: %d/%d\n", inst, page_num); */
@@ -2404,10 +2404,10 @@ static void st_create_special(gint inst, GtkWidget 
*window) {
     viewport = gtkpod_xml_get_widget(special_xml, "special_viewport");
 
     /* according to GTK FAQ: move a widget to a new parent */
-    gtk_widget_ref(viewport);
+    g_object_ref(viewport);
     gtk_container_remove(GTK_CONTAINER (special), viewport);
     gtk_container_add(GTK_CONTAINER (window), viewport);
-    gtk_widget_unref(viewport);
+    g_object_unref(viewport);
 
     /* Connect the signal handlers and set default value. User data
      is @inst+(additional data << SP_SHIFT) */
@@ -2533,14 +2533,14 @@ static void st_create_special(gint inst, GtkWidget 
*window) {
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), 
prefs_get_int_index("sp_autodisplay", inst));
     g_free(buf);
 
-    /* Safe pointer to tooltips */
+    /*
     st->sp_tooltips_data = 
gtk_tooltips_data_get(gtkpod_xml_get_widget(special_xml, "sp_modified_entry"));
-    /* Show / don't show tooltips */
     g_return_if_fail (st->sp_tooltips_data);
     if (prefs_get_int("display_tooltips_main"))
         gtk_tooltips_enable(st->sp_tooltips_data->tooltips);
     else
         gtk_tooltips_disable(st->sp_tooltips_data->tooltips);
+    */
     /* we don't need this any more */
     gtk_widget_destroy(special);
 }
@@ -2740,6 +2740,7 @@ void st_show_hide_tooltips(void) {
     gint i;
 
     for (i = 0; i < SORT_TAB_MAX; ++i) {
+        /*
         GtkTooltips *tt;
         GtkTooltipsData *ttd;
 
@@ -2755,6 +2756,8 @@ void st_show_hide_tooltips(void) {
         else {
             gtk_tooltips_disable(tt);
         }
+
+        */
     }
 }
 
@@ -3223,51 +3226,34 @@ gint st_get_sort_tab_number(gchar *text) {
     GtkWidget *combo;
     gint result;
     gint i, nr, stn;
-    GList *list = NULL, *lnk;
     gchar buf[20], *bufp;
 
-    mdialog
-            = gtk_message_dialog_new(GTK_WINDOW (gtkpod_app), 
GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, 
"%s", text);
+    mdialog = gtk_message_dialog_new(GTK_WINDOW (gtkpod_app), 
GTK_DIALOG_DESTROY_WITH_PARENT,
+                                     GTK_MESSAGE_QUESTION, 
GTK_BUTTONS_OK_CANCEL, "%s", text);
 
     dialog = GTK_DIALOG (mdialog);
 
-    combo = gtk_combo_new();
+    combo = gtk_combo_box_new_text();
     gtk_widget_show(combo);
     gtk_container_add(GTK_CONTAINER 
(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), combo);
 
     stn = prefs_get_int("sort_tab_num");
     /* Create list */
     for (i = 1; i <= stn; ++i) {
-        bufp = g_strdup_printf("%d", i);
-        list = g_list_append(list, bufp);
+        sprintf(buf, "%d", i);
+        gtk_combo_box_append_text(GTK_COMBO_BOX (combo), buf);
     }
 
-    /* set pull down items */
-    gtk_combo_set_popdown_strings(GTK_COMBO (combo), list);
-    /* set standard entry */
-    if (last_nr > stn)
-        last_nr = 1; /* maybe the stn has become
-         smaller... */
-    snprintf(buf, 20, "%d", last_nr);
-    gtk_entry_set_text(GTK_ENTRY (GTK_COMBO (combo)->entry), buf);
-
     result = gtk_dialog_run(GTK_DIALOG (mdialog));
 
     /* free the list */
-    for (lnk = list; lnk; lnk = lnk->next) {
-        C_FREE (lnk->data);
-    }
-    g_list_free(list);
-    list = NULL;
-
     if (result == GTK_RESPONSE_CANCEL) {
         nr = -1; /* no selection */
     }
     else {
-        bufp = gtk_editable_get_chars(GTK_EDITABLE (GTK_COMBO (combo)->entry), 
0, -1);
+        bufp = gtk_combo_box_get_active_text(GTK_COMBO_BOX (combo));
         nr = atoi(bufp) - 1;
         last_nr = nr + 1;
-        C_FREE (bufp);
     }
 
     gtk_widget_destroy(mdialog);
diff --git a/plugins/sorttab_display/display_sorttabs.h 
b/plugins/sorttab_display/display_sorttabs.h
index ab816a1..8b2444e 100644
--- a/plugins/sorttab_display/display_sorttabs.h
+++ b/plugins/sorttab_display/display_sorttabs.h
@@ -104,7 +104,6 @@ typedef struct {
   TimeInfo ti_added;                 /* TimeInfo "added" (sp)         */
   TimeInfo ti_modified;              /* TimeInfo "modified" (sp)      */
   TimeInfo ti_played;                /* TimeInfo "played" (sp)        */
-  GtkTooltipsData *sp_tooltips_data; /* ptr to tooltips in special st */
   /* function used for string comparisons, set in on_st_switch_page   */
   gint (*entry_compare_func) (const TabEntry *a, const TabEntry *b);
 } SortTab;
diff --git a/plugins/sorttab_display/sorttab_display_preferences.c 
b/plugins/sorttab_display/sorttab_display_preferences.c
index c45f956..493c877 100644
--- a/plugins/sorttab_display/sorttab_display_preferences.c
+++ b/plugins/sorttab_display/sorttab_display_preferences.c
@@ -61,7 +61,7 @@ GtkWidget *init_sorttab_preferences() {
     gchar *glade_path = g_build_filename(get_glade_dir(), 
"sorttab_display.glade", NULL);
     pref_xml = gtkpod_xml_new(glade_path, "sorttab_settings_notebook");
     notebook = gtkpod_xml_get_widget(pref_xml, "sorttab_settings_notebook");
-    gtk_widget_ref(notebook);
+    g_object_ref(notebook);
     g_free(glade_path);
 
     glade_xml_signal_autoconnect(pref_xml);
diff --git a/plugins/track_display/display_tracks.c 
b/plugins/track_display/display_tracks.c
index ea69d4d..ba743af 100644
--- a/plugins/track_display/display_tracks.c
+++ b/plugins/track_display/display_tracks.c
@@ -2024,12 +2024,9 @@ static GtkTreeViewColumn *tm_add_column(TM_item tm_item, 
gint pos) {
     GtkTreeViewColumn *col = NULL;
     const gchar *text;
     GtkCellRenderer *renderer = NULL; /* default */
-    GtkTooltips *tt;
     GtkTreeCellDataFunc cell_data_func = tm_cell_data_text_func;
 
     g_return_val_if_fail (gtkpod_app, NULL);
-    tt = g_object_get_data(G_OBJECT (gtkpod_app), "main_tooltips");
-    g_return_val_if_fail (tt, NULL);
 
     g_return_val_if_fail (tm_item >= 0, NULL);
     g_return_val_if_fail (tm_item < TM_NUM_COLUMNS, NULL);
@@ -2185,11 +2182,12 @@ static GtkTreeViewColumn *tm_add_column(TM_item 
tm_item, gint pos) {
     if (pos != -1) {
         gtk_tree_view_column_set_visible(col, 
prefs_get_int_index("col_visible", tm_item));
     }
-    
+
     if (get_tm_tooltip(tm_item)) {
         GtkWidget *label = GTK_WIDGET (gtk_label_new(text));
+        gtk_widget_show(label);
+        gtk_widget_set_tooltip_text(label, gettext (get_tm_tooltip(tm_item)));
         gtk_tree_view_column_set_widget(col, label);
-        gtk_tooltips_set_tip(tt, label, gettext (get_tm_tooltip (tm_item)), 
NULL);
     }
     
     return col;
@@ -2382,7 +2380,7 @@ void tm_create_track_display(GtkWidget *parent) {
     current_playlist_label = gtkpod_xml_get_widget(get_track_glade(), 
"current_playlist_label");
     tm_create_treeview();
 
-    gtk_widget_ref(track_container);
+    g_object_ref(track_container);
     gtk_container_remove(GTK_CONTAINER(track_display_window), 
GTK_WIDGET(track_container));
     if (GTK_IS_SCROLLED_WINDOW(parent)) {
         gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(parent), 
GTK_WIDGET(track_container));
@@ -2391,7 +2389,7 @@ void tm_create_track_display(GtkWidget *parent) {
         gtk_container_add(GTK_CONTAINER (parent), GTK_WIDGET 
(track_container));
     }
 
-    gtk_widget_unref(track_container);
+    g_object_unref(track_container);
     gtk_widget_destroy(track_display_window);
 }
 
diff --git a/plugins/track_display/rb_cell_renderer_rating.c 
b/plugins/track_display/rb_cell_renderer_rating.c
index bf4e85b..816cc5c 100644
--- a/plugins/track_display/rb_cell_renderer_rating.c
+++ b/plugins/track_display/rb_cell_renderer_rating.c
@@ -141,7 +141,7 @@ rb_cell_renderer_rating_init (RBCellRendererRating 
*cellrating)
        cellrating->priv = RB_CELL_RENDERER_RATING_GET_PRIVATE (cellrating);
 
        /* set the renderer able to be activated */
-       g_object_set_(cellrating, "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE, 
NULL);
+       g_object_set(cellrating, "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE, 
NULL);
 
        /* create the needed icons */
 }
@@ -240,7 +240,7 @@ rb_cell_renderer_rating_set_property (GObject *object,
 GtkCellRenderer *
 rb_cell_renderer_rating_new ()
 {
-       return GTK_CELL_RENDERER (gtk_type_new 
(rb_cell_renderer_rating_get_type ()));
+       return GTK_CELL_RENDERER (g_object_new 
(rb_cell_renderer_rating_get_type (), NULL));
 }
 
 static void
@@ -333,7 +333,7 @@ rb_cell_renderer_rating_activate (GtkCellRenderer *cell,
        g_return_val_if_fail (RB_IS_CELL_RENDERER_RATING (cellrating), FALSE);
 
        gtk_widget_get_pointer (widget, &mouse_x, &mouse_y);
-       gtk_tree_view_widget_to_tree_coords (GTK_TREE_VIEW (widget),
+       gtk_tree_view_convert_bin_window_to_tree_coords (GTK_TREE_VIEW (widget),
                                             mouse_x,
                                             mouse_y,
                                             &mouse_x,
diff --git a/plugins/track_display/rb_cell_renderer_rating.h 
b/plugins/track_display/rb_cell_renderer_rating.h
index 049d9c2..7abff6e 100644
--- a/plugins/track_display/rb_cell_renderer_rating.h
+++ b/plugins/track_display/rb_cell_renderer_rating.h
@@ -29,11 +29,11 @@
 G_BEGIN_DECLS
 
 #define RB_TYPE_CELL_RENDERER_RATING           
(rb_cell_renderer_rating_get_type ())
-#define RB_CELL_RENDERER_RATING(obj)           (GTK_CHECK_CAST ((obj), 
RB_TYPE_CELL_RENDERER_RATING, RBCellRendererRating))
-#define RB_CELL_RENDERER_RATING_CLASS(klass)   (GTK_CHECK_CLASS_CAST ((klass), 
RB_TYPE_CELL_RENDERER_RATING, RBCellRendererRatingClass))
-#define RB_IS_CELL_RENDERER_RATING(obj)                (GTK_CHECK_TYPE ((obj), 
RB_TYPE_CELL_RENDERER_RATING))
-#define RB_IS_CELL_RENDERER_RATING_CLASS(klass)        (GTK_CHECK_CLASS_TYPE 
((klass), RB_TYPE_CELL_RENDERER_RATING))
-#define RB_CELL_RENDERER_RATING_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), 
RB_TYPE_CELL_RENDERER_RATING, RBCellRendererRatingClass))
+#define RB_CELL_RENDERER_RATING(obj)           (G_TYPE_CHECK_INSTANCE_CAST 
((obj), RB_TYPE_CELL_RENDERER_RATING, RBCellRendererRating))
+#define RB_CELL_RENDERER_RATING_CLASS(klass)   (G_TYPE_CHECK_CLASS_CAST 
((klass), RB_TYPE_CELL_RENDERER_RATING, RBCellRendererRatingClass))
+#define RB_IS_CELL_RENDERER_RATING(obj)                
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), RB_TYPE_CELL_RENDERER_RATING))
+#define RB_IS_CELL_RENDERER_RATING_CLASS(klass)        
(G_TYPE_CHECK_CLASS_TYPE ((klass), RB_TYPE_CELL_RENDERER_RATING))
+#define RB_CELL_RENDERER_RATING_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS 
((obj), RB_TYPE_CELL_RENDERER_RATING, RBCellRendererRatingClass))
 
 typedef struct RBCellRendererRatingPrivate RBCellRendererRatingPrivate;
 typedef struct RBCellRendererRatingClassPrivate 
RBCellRendererRatingClassPrivate;
@@ -55,7 +55,7 @@ typedef struct
 
 } RBCellRendererRatingClass;
 
-GtkType          rb_cell_renderer_rating_get_type (void);
+GType            rb_cell_renderer_rating_get_type (void);
 
 GtkCellRenderer *rb_cell_renderer_rating_new      (void);
 
diff --git a/plugins/track_display/rb_rating_helper.c 
b/plugins/track_display/rb_rating_helper.c
index 68aa3f5..5df97c9 100644
--- a/plugins/track_display/rb_rating_helper.c
+++ b/plugins/track_display/rb_rating_helper.c
@@ -114,6 +114,7 @@ rb_rating_render_stars (GtkWidget *widget,
 {
        int i, icon_width;
        gboolean rtl;
+       cairo_t *cr = gdk_cairo_create (window);
 
        g_return_val_if_fail (widget != NULL, FALSE);
        g_return_val_if_fail (window != NULL, FALSE);
@@ -150,6 +151,7 @@ rb_rating_render_stars (GtkWidget *widget,
                        buf = pixbufs->pix_blank;
 
                if (buf == NULL) {
+                       cairo_destroy(cr);
                        return FALSE;
                }
 
@@ -158,6 +160,7 @@ rb_rating_render_stars (GtkWidget *widget,
                                                   
(widget->style->text[state].green + offset) >> 8,
                                                   
(widget->style->text[state].blue + offset) >> 8); */
                if (buf == NULL) {
+                       cairo_destroy(cr);
                        return FALSE;
                }
 
@@ -167,16 +170,13 @@ rb_rating_render_stars (GtkWidget *widget,
                        star_offset = i * icon_width;
                }
 
-               gdk_draw_pixbuf (window,
-                                NULL,
-                                buf,
-                                x, y,
-                                x_offset + star_offset, y_offset,
-                                icon_width, icon_width,
-                                GDK_RGB_DITHER_NORMAL, 0, 0);
-/*             g_object_unref (G_OBJECT (buf)); */
+               cairo_save (cr);
+               gdk_cairo_set_source_pixbuf (cr, buf, x_offset + star_offset, 
y_offset);
+               cairo_paint (cr);
+               cairo_restore (cr);
        }
 
+       cairo_destroy(cr);
        return TRUE;
 }
 
diff --git a/plugins/track_display/sort_window.c 
b/plugins/track_display/sort_window.c
index b40b263..f628309 100644
--- a/plugins/track_display/sort_window.c
+++ b/plugins/track_display/sort_window.c
@@ -137,7 +137,6 @@ void sort_window_create(void) {
         gint i;
         GtkTextIter ti;
         gchar *str;
-        GtkTooltips *tooltips;
         gint *tm_listed_order, tm_list_pos;
 
         sort_temp_prefs = temp_prefs_create();
@@ -227,9 +226,7 @@ void sort_window_create(void) {
         /* associate tm_listed_order with sort_window */
         g_object_set_data(G_OBJECT (sort_window), "tm_listed_order", 
tm_listed_order);
 
-        tooltips = gtk_tooltips_new();
-        gtk_tooltips_set_tip(tooltips, w, _("You can also use the table 
headers, but this allows you to sort according to a column that is not 
displayed."), NULL);
-
+        gtk_widget_set_tooltip_text (w, _("You can also use the table headers, 
but this allows you to sort according to a column that is not displayed."));
         sort_window_update();
 
         sort_window_show_hide_tooltips();
@@ -332,6 +329,7 @@ void sort_window_release(void) {
 /* make the tooltips visible or hide it depending on the value set in
  * the prefs (tooltips_prefs) */
 void sort_window_show_hide_tooltips(void) {
+/*
     if (sort_window) {
         GtkTooltips *tt;
         GtkTooltipsData *tooltips_data;
@@ -349,6 +347,7 @@ void sort_window_show_hide_tooltips(void) {
             g_warning ("***tt is NULL***");
         }
     }
+*/
 }
 
 /* get the sort_column selected in the combo */
diff --git a/plugins/track_display/track_display_preferences.c 
b/plugins/track_display/track_display_preferences.c
index 50601b2..26a85f5 100644
--- a/plugins/track_display/track_display_preferences.c
+++ b/plugins/track_display/track_display_preferences.c
@@ -237,7 +237,7 @@ GtkWidget *init_track_display_preferences() {
     pref_xml = gtkpod_xml_new(glade_path, "track_settings_notebook");
     notebook = gtkpod_xml_get_widget(pref_xml, "track_settings_notebook");
     displayed_columns_view = gtkpod_xml_get_widget(pref_xml, 
"displayed_columns");
-    gtk_widget_ref(notebook);
+    g_object_ref(notebook);
     g_free(glade_path);
 
     setup_column_tree (GTK_TREE_VIEW(displayed_columns_view), TRUE);

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users 
worldwide. Take advantage of special opportunities to increase revenue and 
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to