[Goodies-commits] r3207 - xfce4-places-plugin/trunk/panel-plugin
Diego Ongaro
ongardie at xfce.org
Wed Sep 12 05:18:08 CEST 2007
Author: ongardie
Date: 2007-09-12 03:18:08 +0000 (Wed, 12 Sep 2007)
New Revision: 3207
Modified:
xfce4-places-plugin/trunk/panel-plugin/cfg.c
xfce4-places-plugin/trunk/panel-plugin/model_volumes.c
xfce4-places-plugin/trunk/panel-plugin/view.c
xfce4-places-plugin/trunk/panel-plugin/view.h
Log:
Places:
Make recent documents show up again
Destroy the menu before destroying any of the model
Modified: xfce4-places-plugin/trunk/panel-plugin/cfg.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/cfg.c 2007-09-12 02:54:39 UTC (rev 3206)
+++ xfce4-places-plugin/trunk/panel-plugin/cfg.c 2007-09-12 03:18:08 UTC (rev 3207)
@@ -33,8 +33,6 @@
#include "cfg.h"
#include "view.h"
-#include "places.h"
-#include "model.h"
/* Init */
static void pcfg_init_defaults(PlacesCfg *cfg);
Modified: xfce4-places-plugin/trunk/panel-plugin/model_volumes.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model_volumes.c 2007-09-12 02:54:39 UTC (rev 3206)
+++ xfce4-places-plugin/trunk/panel-plugin/model_volumes.c 2007-09-12 03:18:08 UTC (rev 3207)
@@ -144,12 +144,11 @@
GList *bookmarks = NULL;
PlacesBookmark *bookmark;
PlacesBookmarkAction *action;
-
- GList *volumes = thunar_vfs_volume_manager_get_volumes(pbg_priv(bookmark_group)->volume_manager);
+ const GList *volumes;
ThunarVfsVolume *volume;
-
GtkIconTheme *icon_theme = gtk_icon_theme_get_default();
+ volumes = thunar_vfs_volume_manager_get_volumes(pbg_priv(bookmark_group)->volume_manager);
while(volumes != NULL){
volume = THUNAR_VFS_VOLUME(volumes->data);
@@ -208,18 +207,18 @@
}
-
static gboolean
pbvol_changed(PlacesBookmarkGroup *bookmark_group)
{
return pbg_priv(bookmark_group)->changed;
}
-
static void
pbvol_finalize(PlacesBookmarkGroup *bookmark_group)
{
- GList *volumes = thunar_vfs_volume_manager_get_volumes(pbg_priv(bookmark_group)->volume_manager);
+ const GList *volumes;
+
+ volumes = thunar_vfs_volume_manager_get_volumes(pbg_priv(bookmark_group)->volume_manager);
while(volumes != NULL){
g_signal_handlers_disconnect_by_func(THUNAR_VFS_VOLUME(volumes->data),
G_CALLBACK(pbvol_set_changed), bookmark_group);
@@ -230,6 +229,7 @@
G_CALLBACK(pbvol_volumes_added), bookmark_group);
g_signal_handlers_disconnect_by_func(pbg_priv(bookmark_group)->volume_manager,
G_CALLBACK(pbvol_volumes_removed), bookmark_group);
+
g_object_unref(pbg_priv(bookmark_group)->volume_manager);
pbg_priv(bookmark_group)->volume_manager = NULL;
thunar_vfs_shutdown();
@@ -238,23 +238,23 @@
g_free(bookmark_group);
}
-
-
PlacesBookmarkGroup*
places_bookmarks_volumes_create()
{
- PlacesBookmarkGroup *bookmark_group = g_new0(PlacesBookmarkGroup, 1);
+ const GList *volumes;
+ PlacesBookmarkGroup *bookmark_group;
+
+ bookmark_group = g_new0(PlacesBookmarkGroup, 1);
bookmark_group->get_bookmarks = pbvol_get_bookmarks;
bookmark_group->changed = pbvol_changed;
bookmark_group->finalize = pbvol_finalize;
bookmark_group->priv = g_new0(PBVolData, 1);
-
thunar_vfs_init();
pbg_priv(bookmark_group)->volume_manager = thunar_vfs_volume_manager_get_default();
pbg_priv(bookmark_group)->changed = TRUE;
- GList *volumes = thunar_vfs_volume_manager_get_volumes(pbg_priv(bookmark_group)->volume_manager);
+ volumes = thunar_vfs_volume_manager_get_volumes(pbg_priv(bookmark_group)->volume_manager);
while(volumes != NULL){
g_signal_connect_swapped(THUNAR_VFS_VOLUME(volumes->data), "changed",
G_CALLBACK(pbvol_set_changed), bookmark_group);
@@ -270,5 +270,4 @@
return bookmark_group;
}
-
/* vim: set ai et tabstop=4: */
Modified: xfce4-places-plugin/trunk/panel-plugin/view.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/view.c 2007-09-12 02:54:39 UTC (rev 3206)
+++ xfce4-places-plugin/trunk/panel-plugin/view.c 2007-09-12 03:18:08 UTC (rev 3207)
@@ -51,9 +51,6 @@
#include "model_user.h"
-#if GTK_CHECK_VERSION(2,10,0)
-# define USE_RECENT_DOCUMENTS TRUE
-#endif
#define BORDER 4
@@ -126,11 +123,15 @@
static void
pview_reconfigure_model(PlacesView *view)
{
+ /* we don't want the menu items holding on to any references */
+ pview_destroy_menu(view);
+
/* destroy first */
if(view->bookmark_groups != NULL){
GList *bookmark_group = view->bookmark_groups;
while(bookmark_group != NULL){
+ DBG("finalize: %x", (gint) bookmark_group->data);
if(bookmark_group->data != NULL)
places_bookmark_group_finalize((PlacesBookmarkGroup*) bookmark_group->data);
Modified: xfce4-places-plugin/trunk/panel-plugin/view.h
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/view.h 2007-09-12 02:54:39 UTC (rev 3206)
+++ xfce4-places-plugin/trunk/panel-plugin/view.h 2007-09-12 03:18:08 UTC (rev 3207)
@@ -26,6 +26,10 @@
#include <glib.h>
#include "places.h"
+#if GTK_CHECK_VERSION(2,10,0)
+# define USE_RECENT_DOCUMENTS TRUE
+#endif
+
typedef struct _PlacesView PlacesView;
typedef struct {
@@ -42,7 +46,6 @@
#include "cfg.h"
-
/* Init & Finalize */
PlacesView* places_view_init(XfcePanelPlugin*);
void places_view_finalize(PlacesView*);
More information about the Goodies-commits
mailing list