[Xfce4-commits] r24700 - in squeeze/trunk: . src
Stephan Arts
stephan at xfce.org
Mon Jan 22 21:44:40 CET 2007
Author: stephan
Date: 2007-01-22 20:44:40 +0000 (Mon, 22 Jan 2007)
New Revision: 24700
Modified:
squeeze/trunk/configure.in.in
squeeze/trunk/src/archive_store.c
squeeze/trunk/src/main_window.c
squeeze/trunk/src/navigation_bar.c
squeeze/trunk/src/notebook.c
squeeze/trunk/src/widget_factory.c
Log:
fixed some reference counting issues and release compile thingies
Modified: squeeze/trunk/configure.in.in
===================================================================
--- squeeze/trunk/configure.in.in 2007-01-22 19:38:05 UTC (rev 24699)
+++ squeeze/trunk/configure.in.in 2007-01-22 20:44:40 UTC (rev 24700)
@@ -14,15 +14,15 @@
m4_define([squeeze_version_major], [0])
m4_define([squeeze_version_minor], [0])
m4_define([squeeze_version_micro], [1])
-m4_define([squeeze_version_nano], []) # Leave empty for no nano version
+m4_define([squeeze_version_nano], [svn]) # Leave empty for no nano version
m4_define([squeeze_version_build], [r at REVISION@])
-m4_define([squeeze_version_tag], [svn]) # Leave empty for releases
+m4_define([squeeze_version_tag], []) # Leave empty for releases
m4_define([squeeze_version], [ifelse(squeeze_version_branch(), [], [squeeze_version_major().squeeze_version_minor().squeeze_version_micro()ifelse(squeeze_version_nano(), [], [], [.squeeze_version_nano()])], [squeeze_version_branch()])ifelse(squeeze_version_tag(),[],[], [-ifelse(squeeze_version_tag(), [svn], [squeeze_version_tag()-squeeze_version_build()], [squeeze_version_tag()])])])
dnl *******************************************
dnl *** Debugging support for SVN snapshots ***
dnl *******************************************
-m4_define([squeeze_debug_default], [ifelse(squeeze_version_tag(), [svn], [full], [minimum])])
+m4_define([squeeze_debug_default], [ifelse(squeeze_version_tag(), [svn], [full], [no])])
AC_COPYRIGHT([Copyright (c) 2006
The Xfce development team. All rights reserved.
Modified: squeeze/trunk/src/archive_store.c
===================================================================
--- squeeze/trunk/src/archive_store.c 2007-01-22 19:38:05 UTC (rev 24699)
+++ squeeze/trunk/src/archive_store.c 2007-01-22 20:44:40 UTC (rev 24700)
@@ -43,7 +43,7 @@
sq_archive_tree_sortable_init(GtkTreeSortableIface *ts_interface);
static void
-sq_archive_store_finalize(GObject *object);
+sq_archive_store_dispose(GObject *object);
/* properties */
enum {
@@ -236,7 +236,7 @@
object_class->set_property = sq_archive_store_set_property;
object_class->get_property = sq_archive_store_get_property;
- object_class->finalize = sq_archive_store_finalize;
+ object_class->dispose = sq_archive_store_dispose;
pspec = g_param_spec_boolean("show-icons",
_("Show mime icons"),
@@ -537,6 +537,8 @@
g_return_val_if_fail(SQ_IS_ARCHIVE_STORE(tree_model), FALSE);
SQArchiveStore *store = SQ_ARCHIVE_STORE(tree_model);
+ if(iter->stamp != store->stamp)
+ return FALSE;
LSQArchiveIter *entry = (LSQArchiveIter*)iter->user_data2;
gint pos = GPOINTER_TO_INT(iter->user_data3);
@@ -1678,9 +1680,12 @@
}
static void
-sq_archive_store_finalize(GObject *object)
+sq_archive_store_dispose(GObject *object)
{
SQArchiveStore *store = SQ_ARCHIVE_STORE(object);
if(store->archive)
+ {
g_object_unref(store->archive);
+ store->archive = NULL;
+ }
}
Modified: squeeze/trunk/src/main_window.c
===================================================================
--- squeeze/trunk/src/main_window.c 2007-01-22 19:38:05 UTC (rev 24699)
+++ squeeze/trunk/src/main_window.c 2007-01-22 20:44:40 UTC (rev 24700)
@@ -81,6 +81,8 @@
sq_main_window_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static void
sq_main_window_finalize(GObject *object);
+static void
+sq_main_window_dispose(GObject *object);
static void cb_sq_main_new_archive(GtkWidget *widget, gpointer userdata);
@@ -110,6 +112,8 @@
static void
sq_main_window_set_navigation(SQMainWindow *window);
+static GObjectClass *parent_class;
+
GType
sq_main_window_navigation_style_get_type()
{
@@ -169,9 +173,12 @@
GObjectClass *object_class = G_OBJECT_CLASS (window_class);
GParamSpec *pspec = NULL;
+ parent_class = gtk_type_class (GTK_TYPE_WINDOW);
+
object_class->set_property = sq_main_window_set_property;
object_class->get_property = sq_main_window_get_property;
object_class->finalize = sq_main_window_finalize;
+ object_class->dispose = sq_main_window_dispose;
pspec = g_param_spec_enum("navigation-style",
_("Navigation Style"),
@@ -186,46 +193,69 @@
}
static void
-sq_main_window_finalize(GObject *object)
+sq_main_window_dispose(GObject *object)
{
SQMainWindow *window = SQ_MAIN_WINDOW(object);
+ if(window->main_vbox && window->notebook)
+ {
+ gtk_container_remove(GTK_CONTAINER(window->main_vbox), GTK_WIDGET(window->notebook));
+ window->notebook = NULL;
+ }
- sq_settings_set_group(window->settings, "Global");
- if(window->menu_bar)
- sq_settings_write_bool_entry(window->settings, "MenuBar", TRUE);
- else
- sq_settings_write_bool_entry(window->settings, "MenuBar", FALSE);
+ if(window->settings)
+ {
+ sq_settings_set_group(window->settings, "Global");
+ if(window->menu_bar)
+ sq_settings_write_bool_entry(window->settings, "MenuBar", TRUE);
+ else
+ sq_settings_write_bool_entry(window->settings, "MenuBar", FALSE);
- if(!window->navigationbar)
- {
- sq_settings_write_entry(window->settings, "NavigationBar", "None");
+ if(!window->navigationbar)
+ {
+ sq_settings_write_entry(window->settings, "NavigationBar", "None");
+ }
+ #ifdef ENABLE_TOOLBAR
+ else if(SQ_IS_TOOL_BAR(window->navigationbar))
+ {
+ sq_settings_write_entry(window->settings, "NavigationBar", "ToolBar");
+ }
+ #endif
+ #ifdef ENABLE_PATHBAR
+ else if(SQ_IS_PATH_BAR(window->navigationbar))
+ {
+ sq_settings_write_entry(window->settings, "NavigationBar", "PathBar");
+ }
+ #endif
+ else
+ {
+ sq_settings_write_entry(window->settings, "NavigationBar", "None");
+ }
+
+ sq_settings_save(window->settings);
+
+ g_object_unref(G_OBJECT(window->settings));
+ window->settings = NULL;
}
-#ifdef ENABLE_TOOLBAR
- else if(SQ_IS_TOOL_BAR(window->navigationbar))
+
+ if(window->main_vbox && window->navigationbar)
{
- sq_settings_write_entry(window->settings, "NavigationBar", "ToolBar");
- }
-#endif
-#ifdef ENABLE_PATHBAR
- else if(SQ_IS_PATH_BAR(window->navigationbar))
- {
- sq_settings_write_entry(window->settings, "NavigationBar", "PathBar");
+ gtk_container_remove(GTK_CONTAINER(window->main_vbox), GTK_WIDGET(window->navigationbar));
+ window->navigationbar = NULL;
}
-#endif
- else
+ if(window->app)
{
- sq_settings_write_entry(window->settings, "NavigationBar", "None");
+ g_object_unref(G_OBJECT(window->app));
+ window->app = NULL;
}
+
+ parent_class->dispose(object);
+}
- sq_settings_save(window->settings);
-
- g_object_unref(G_OBJECT(window->settings));
-
- //if(window->navigationbar)
- // gtk_widget_destroy(GTK_WIDGET(window->navigationbar));
-
- g_object_unref(G_OBJECT(window->app));
+static void
+sq_main_window_finalize(GObject *object)
+{
+ parent_class->finalize(object);
}
static void
Modified: squeeze/trunk/src/navigation_bar.c
===================================================================
--- squeeze/trunk/src/navigation_bar.c 2007-01-22 19:38:05 UTC (rev 24699)
+++ squeeze/trunk/src/navigation_bar.c 2007-01-22 20:44:40 UTC (rev 24700)
@@ -32,7 +32,7 @@
static void
sq_navigation_bar_init(SQNavigationBar *archive);
static void
-sq_navigation_bar_finalize(GObject *object);
+sq_navigation_bar_dispose(GObject *object);
static void
cb_sq_navigation_bar_pwd_changed(SQArchiveStore *store, SQNavigationBar *bar);
@@ -45,6 +45,8 @@
SQ_NAVIGATION_BAR_NAV_HISTORY = 1
};
+static GObjectClass *parent_class;
+
GType
sq_navigation_bar_get_type ()
{
@@ -76,7 +78,9 @@
{
GObjectClass *object_class = G_OBJECT_CLASS (navigation_bar_class);
- object_class->finalize = sq_navigation_bar_finalize;
+ parent_class = gtk_type_class (GTK_TYPE_CONTAINER);
+
+ object_class->dispose = sq_navigation_bar_dispose;
}
static void
@@ -90,7 +94,7 @@
}
static void
-sq_navigation_bar_finalize(GObject *object)
+sq_navigation_bar_dispose(GObject *object)
{
SQNavigationBar *navigation_bar = SQ_NAVIGATION_BAR(object);
if(navigation_bar->store)
@@ -99,7 +103,9 @@
g_signal_handlers_disconnect_by_func(navigation_bar->store, navigation_bar->_cb_pwd_changed, navigation_bar);
if(navigation_bar->_cb_new_archive)
g_signal_handlers_disconnect_by_func(navigation_bar->store, navigation_bar->_cb_new_archive, navigation_bar);
+ navigation_bar->store = NULL;
}
+ parent_class->dispose(object);
}
void
Modified: squeeze/trunk/src/notebook.c
===================================================================
--- squeeze/trunk/src/notebook.c 2007-01-22 19:38:05 UTC (rev 24699)
+++ squeeze/trunk/src/notebook.c 2007-01-22 20:44:40 UTC (rev 24700)
@@ -428,7 +428,10 @@
sq_notebook_set_navigation_bar(SQNotebook *notebook, SQNavigationBar *bar)
{
if(notebook->navigation_bar)
+ {
sq_navigation_bar_set_store(notebook->navigation_bar, NULL);
+ gtk_widget_unref(GTK_WIDGET(notebook->navigation_bar));
+ }
notebook->props._up_dir = TRUE;
@@ -443,6 +446,9 @@
notebook->props._up_dir = FALSE;
#endif
}
+
+ if(bar)
+ gtk_widget_ref(GTK_WIDGET(bar));
if(gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook)))
{
Modified: squeeze/trunk/src/widget_factory.c
===================================================================
--- squeeze/trunk/src/widget_factory.c 2007-01-22 19:38:05 UTC (rev 24699)
+++ squeeze/trunk/src/widget_factory.c 2007-01-22 20:44:40 UTC (rev 24700)
@@ -995,7 +995,10 @@
static void
cb_sq_widget_factory_widget_destroyed(GtkObject *obj, gpointer user_data)
{
- g_signal_handlers_disconnect_by_func(user_data, cb_sq_widget_factory_property_notify, obj);
+ if(user_data)
+ {
+ g_signal_handlers_disconnect_by_func(user_data, cb_sq_widget_factory_property_notify, obj);
+ }
}
static void
More information about the Xfce4-commits
mailing list