]> www.fi.muni.cz Git - evince.git/blobdiff - cut-n-paste/recent-files/egg-recent-view-gtk.c
Check for uri correctness/existence
[evince.git] / cut-n-paste / recent-files / egg-recent-view-gtk.c
index 34805b295140bfce7f1f046317ff88d6e466a1f7..fb01a74518fca4ea94edf3c1bcbef0ddbc7cfaa7 100644 (file)
@@ -1,5 +1,5 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/**
+/*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -99,7 +99,8 @@ egg_recent_view_gtk_clear (EggRecentViewGtk *view)
        GObject *menu_item;
        gint *menu_data=NULL;
 
-       g_return_if_fail (view->menu != NULL);
+       if (view->menu == NULL)
+               return;
 
        menu_children = gtk_container_get_children (GTK_CONTAINER (view->menu));
 
@@ -190,7 +191,7 @@ egg_recent_view_gtk_new_separator (EggRecentViewGtk *view)
        
        retval = gtk_separator_menu_item_new ();
 
-       /**
+       /*
         * this is a tag so we can distinguish our menu items
         * from others that may be in the menu.
         */
@@ -285,7 +286,7 @@ egg_recent_view_gtk_new_menu_item (EggRecentViewGtk *view,
        g_free (mime_type);
        g_free (text);
 
-       /**
+       /*
         * this is a tag so we can distinguish our menu items
         * from others that may be in the menu.
         */
@@ -336,7 +337,8 @@ egg_recent_view_gtk_set_list (EggRecentViewGtk *view, GList *list)
        gint display=1;
        gint index=1;
 
-       g_return_if_fail (view);
+       if (view->menu == NULL)
+               return;
 
        egg_recent_view_gtk_clear (view);
 
@@ -497,7 +499,6 @@ egg_recent_view_gtk_finalize (GObject *object)
 
        g_free (view->uid);
 
-       g_object_unref (view->menu);
        g_object_unref (view->model);
 #ifndef USE_STABLE_LIBGNOMEUI
        g_object_unref (view->theme);
@@ -695,13 +696,16 @@ egg_recent_view_gtk_set_menu (EggRecentViewGtk *view,
 {
        g_return_if_fail (view);
        g_return_if_fail (EGG_IS_RECENT_VIEW_GTK (view));
-       g_return_if_fail (menu);
 
        if (view->menu != NULL)
-               g_object_unref (view->menu);
+               g_object_remove_weak_pointer (G_OBJECT (view->menu),
+                                             (gpointer *) &view->menu);
        
        view->menu = menu;
-       g_object_ref (view->menu);
+
+       if (view->menu != NULL)
+               g_object_add_weak_pointer (G_OBJECT (view->menu),
+                                          (gpointer *) &view->menu);
 }
 
 /**
@@ -773,7 +777,6 @@ egg_recent_view_gtk_new (GtkWidget *menu, GtkWidget *start_menu_item)
 
 /**
  * egg_recent_view_gtk_get_type:
- * @:
  *
  * This returns a GType representing a EggRecentViewGtk object.
  *