summaryrefslogtreecommitdiff
path: root/libnautilus-private
diff options
context:
space:
mode:
Diffstat (limited to 'libnautilus-private')
-rw-r--r--libnautilus-private/bonobo-stream-vfs.c2
-rw-r--r--libnautilus-private/nautilus-any-width-bin.c8
-rw-r--r--libnautilus-private/nautilus-background.c6
-rw-r--r--libnautilus-private/nautilus-bookmark.c4
-rw-r--r--libnautilus-private/nautilus-caption-table.c8
-rw-r--r--libnautilus-private/nautilus-caption.c8
-rw-r--r--libnautilus-private/nautilus-ctree.c2
-rw-r--r--libnautilus-private/nautilus-directory.c6
-rw-r--r--libnautilus-private/nautilus-druid-page-eazel.c8
-rw-r--r--libnautilus-private/nautilus-druid.c2
-rw-r--r--libnautilus-private/nautilus-entry.c4
-rw-r--r--libnautilus-private/nautilus-file-operations-progress.c2
-rw-r--r--libnautilus-private/nautilus-file.c8
-rw-r--r--libnautilus-private/nautilus-font-factory.c168
-rw-r--r--libnautilus-private/nautilus-font-picker.c8
-rw-r--r--libnautilus-private/nautilus-horizontal-splitter.c2
-rw-r--r--libnautilus-private/nautilus-icon-container.c2
-rw-r--r--libnautilus-private/nautilus-icon-factory.c2
-rw-r--r--libnautilus-private/nautilus-image.c4
-rw-r--r--libnautilus-private/nautilus-keep-last-vertical-box.c2
-rw-r--r--libnautilus-private/nautilus-label.c4
-rw-r--r--libnautilus-private/nautilus-list-column-title.c11
-rw-r--r--libnautilus-private/nautilus-list.c2
-rw-r--r--libnautilus-private/nautilus-password-dialog.c4
-rw-r--r--libnautilus-private/nautilus-preference.c7
-rw-r--r--libnautilus-private/nautilus-preferences-box.c3
-rw-r--r--libnautilus-private/nautilus-preferences-dialog.c5
-rw-r--r--libnautilus-private/nautilus-preferences-group.c5
-rw-r--r--libnautilus-private/nautilus-preferences-item.c3
-rw-r--r--libnautilus-private/nautilus-preferences-pane.c5
-rw-r--r--libnautilus-private/nautilus-radio-button-group.c3
-rw-r--r--libnautilus-private/nautilus-scalable-font.c4
-rw-r--r--libnautilus-private/nautilus-string-picker.c8
-rw-r--r--libnautilus-private/nautilus-text-caption.c8
-rw-r--r--libnautilus-private/nautilus-theme.c8
-rw-r--r--libnautilus-private/nautilus-undo-context.c5
-rw-r--r--libnautilus-private/nautilus-undo-manager.c8
-rw-r--r--libnautilus-private/nautilus-user-level-manager.c2
-rw-r--r--libnautilus-private/nautilus-volume-monitor.c9
39 files changed, 195 insertions, 165 deletions
diff --git a/libnautilus-private/bonobo-stream-vfs.c b/libnautilus-private/bonobo-stream-vfs.c
index ef4b9896c..da7a9794c 100644
--- a/libnautilus-private/bonobo-stream-vfs.c
+++ b/libnautilus-private/bonobo-stream-vfs.c
@@ -346,7 +346,7 @@ bonobo_stream_create (GnomeVFSHandle *fd)
Bonobo_Stream corba_stream;
CORBA_Environment ev;
- stream_vfs = gtk_type_new (bonobo_stream_vfs_get_type ());
+ stream_vfs = BONOBO_STREAM_VFS (gtk_object_new (bonobo_stream_vfs_get_type (), NULL));
stream_vfs->fd = fd;
diff --git a/libnautilus-private/nautilus-any-width-bin.c b/libnautilus-private/nautilus-any-width-bin.c
index 6d19cd6be..5b73898e0 100644
--- a/libnautilus-private/nautilus-any-width-bin.c
+++ b/libnautilus-private/nautilus-any-width-bin.c
@@ -46,14 +46,10 @@ nautilus_any_width_bin_initialize (NautilusAnyWidthBin *bin)
{
}
-GtkWidget*
+GtkWidget *
nautilus_any_width_bin_new (void)
{
- NautilusAnyWidthBin *bin;
-
- bin = gtk_type_new (nautilus_any_width_bin_get_type ());
-
- return GTK_WIDGET (bin);
+ return gtk_widget_new (nautilus_any_width_bin_get_type (), NULL);
}
static void
diff --git a/libnautilus-private/nautilus-background.c b/libnautilus-private/nautilus-background.c
index b01c19b50..6dc73c83b 100644
--- a/libnautilus-private/nautilus-background.c
+++ b/libnautilus-private/nautilus-background.c
@@ -235,7 +235,7 @@ nautilus_background_set_image_placement (NautilusBackground *background,
NautilusBackground *
nautilus_background_new (void)
{
- return NAUTILUS_BACKGROUND (gtk_type_new (NAUTILUS_TYPE_BACKGROUND));
+ return NAUTILUS_BACKGROUND (gtk_object_new (NAUTILUS_TYPE_BACKGROUND, NULL));
}
static void
@@ -1079,10 +1079,10 @@ nautilus_get_widget_background (GtkWidget *widget)
/* Store the background in the widget's data. */
background = nautilus_background_new ();
- gtk_object_set_data_full (GTK_OBJECT (widget), "nautilus_background",
- background, (GtkDestroyNotify) gtk_object_unref);
gtk_object_ref (GTK_OBJECT (background));
gtk_object_sink (GTK_OBJECT (background));
+ gtk_object_set_data_full (GTK_OBJECT (widget), "nautilus_background",
+ background, (GtkDestroyNotify) gtk_object_unref);
/* Arrange to get the signal whenever the background changes. */
gtk_signal_connect_object_while_alive (GTK_OBJECT (background),
diff --git a/libnautilus-private/nautilus-bookmark.c b/libnautilus-private/nautilus-bookmark.c
index a67531bca..e671cfba4 100644
--- a/libnautilus-private/nautilus-bookmark.c
+++ b/libnautilus-private/nautilus-bookmark.c
@@ -479,7 +479,9 @@ nautilus_bookmark_new_with_icon (const char *uri, const char *name,
{
NautilusBookmark *new_bookmark;
- new_bookmark = gtk_type_new (NAUTILUS_TYPE_BOOKMARK);
+ new_bookmark = NAUTILUS_BOOKMARK (gtk_object_new (NAUTILUS_TYPE_BOOKMARK, NULL));
+ gtk_object_ref (GTK_OBJECT (new_bookmark));
+ gtk_object_sink (GTK_OBJECT (new_bookmark));
new_bookmark->details->name = g_strdup (name);
new_bookmark->details->uri = g_strdup (uri);
diff --git a/libnautilus-private/nautilus-caption-table.c b/libnautilus-private/nautilus-caption-table.c
index bfe35a0f4..b6341e1cd 100644
--- a/libnautilus-private/nautilus-caption-table.c
+++ b/libnautilus-private/nautilus-caption-table.c
@@ -306,13 +306,15 @@ entry_activate (GtkWidget *widget, gpointer data)
GtkWidget*
nautilus_caption_table_new (guint num_rows)
{
- GtkWidget *widget = GTK_WIDGET (gtk_type_new (nautilus_caption_table_get_type()));
+ GtkWidget *widget;
- if (num_rows == 0)
+ if (num_rows == 0) {
num_rows = 1;
+ }
- nautilus_caption_table_resize (NAUTILUS_CAPTION_TABLE(widget), num_rows);
+ widget = gtk_widget_new (nautilus_caption_table_get_type(), NULL);
+ nautilus_caption_table_resize (NAUTILUS_CAPTION_TABLE (widget), num_rows);
gtk_table_set_col_spacing (GTK_TABLE (widget), 0, 10);
return widget;
diff --git a/libnautilus-private/nautilus-caption.c b/libnautilus-private/nautilus-caption.c
index 03bb02c9b..9b2698343 100644
--- a/libnautilus-private/nautilus-caption.c
+++ b/libnautilus-private/nautilus-caption.c
@@ -140,14 +140,10 @@ update_title (NautilusCaption *caption)
/*
* NautilusCaption public methods
*/
-GtkWidget*
+GtkWidget *
nautilus_caption_new (void)
{
- NautilusCaption *caption;
-
- caption = gtk_type_new (nautilus_caption_get_type ());
-
- return GTK_WIDGET (caption);
+ return gtk_widget_new (nautilus_caption_get_type (), NULL);
}
/**
diff --git a/libnautilus-private/nautilus-ctree.c b/libnautilus-private/nautilus-ctree.c
index f38774b4e..c7b489da9 100644
--- a/libnautilus-private/nautilus-ctree.c
+++ b/libnautilus-private/nautilus-ctree.c
@@ -3610,7 +3610,7 @@ nautilus_ctree_new_with_titles (gint columns,
g_return_val_if_fail (columns > 0, NULL);
g_return_val_if_fail (tree_column >= 0 && tree_column < columns, NULL);
- widget = gtk_type_new (NAUTILUS_TYPE_CTREE);
+ widget = GTK_WIDGET (gtk_type_new (NAUTILUS_TYPE_CTREE));
nautilus_ctree_construct (NAUTILUS_CTREE (widget), columns, tree_column, titles);
return widget;
diff --git a/libnautilus-private/nautilus-directory.c b/libnautilus-private/nautilus-directory.c
index 2d235bf88..bb002c777 100644
--- a/libnautilus-private/nautilus-directory.c
+++ b/libnautilus-private/nautilus-directory.c
@@ -353,10 +353,12 @@ nautilus_directory_new (const char *uri)
g_assert (uri != NULL);
if (nautilus_uri_is_trash (uri)) {
- directory = NAUTILUS_DIRECTORY (gtk_type_new (NAUTILUS_TYPE_TRASH_DIRECTORY));
+ directory = NAUTILUS_DIRECTORY (gtk_object_new (NAUTILUS_TYPE_TRASH_DIRECTORY, NULL));
} else {
- directory = NAUTILUS_DIRECTORY (gtk_type_new (NAUTILUS_TYPE_VFS_DIRECTORY));
+ directory = NAUTILUS_DIRECTORY (gtk_object_new (NAUTILUS_TYPE_VFS_DIRECTORY, NULL));
}
+ gtk_object_ref (GTK_OBJECT (directory));
+ gtk_object_sink (GTK_OBJECT (directory));
directory->details->uri = g_strdup (uri);
directory->details->private_metafile_vfs_uri = construct_private_metafile_vfs_uri (uri);
diff --git a/libnautilus-private/nautilus-druid-page-eazel.c b/libnautilus-private/nautilus-druid-page-eazel.c
index 7648bf89e..39fadc869 100644
--- a/libnautilus-private/nautilus-druid-page-eazel.c
+++ b/libnautilus-private/nautilus-druid-page-eazel.c
@@ -448,7 +448,9 @@ nautilus_druid_page_eazel_size_request(GtkWidget *widget,
GtkWidget *
nautilus_druid_page_eazel_new (NautilusDruidPageEazelPosition position)
{
- NautilusDruidPageEazel *page = gtk_type_new (nautilus_druid_page_eazel_get_type ());
+ NautilusDruidPageEazel *page;
+
+ page = NAUTILUS_DRUID_PAGE_EAZEL (gtk_widget_new (nautilus_druid_page_eazel_get_type (), NULL));
page->position = position;
page->title = g_strdup ("");
@@ -480,7 +482,9 @@ nautilus_druid_page_eazel_new_with_vals (NautilusDruidPageEazelPosition position
GdkPixbuf *sidebar_image,
GdkPixbuf *background_image)
{
- NautilusDruidPageEazel *page = gtk_type_new (nautilus_druid_page_eazel_get_type ());
+ NautilusDruidPageEazel *page;
+
+ page = NAUTILUS_DRUID_PAGE_EAZEL (gtk_widget_new (nautilus_druid_page_eazel_get_type (), NULL));
page->position = position;
page->title = g_strdup (title ? title : "");
diff --git a/libnautilus-private/nautilus-druid.c b/libnautilus-private/nautilus-druid.c
index f6eb52592..d3a592cc9 100644
--- a/libnautilus-private/nautilus-druid.c
+++ b/libnautilus-private/nautilus-druid.c
@@ -200,5 +200,5 @@ nautilus_druid_size_allocate (GtkWidget *widget,
GtkWidget *
nautilus_druid_new (void)
{
- return (GtkWidget *)gtk_type_new (NAUTILUS_TYPE_DRUID);
+ return gtk_widget_new (NAUTILUS_TYPE_DRUID, NULL);
}
diff --git a/libnautilus-private/nautilus-entry.c b/libnautilus-private/nautilus-entry.c
index b9683f455..e833e197c 100644
--- a/libnautilus-private/nautilus-entry.c
+++ b/libnautilus-private/nautilus-entry.c
@@ -102,10 +102,10 @@ nautilus_entry_initialize (NautilusEntry *entry)
nautilus_undo_set_up_nautilus_entry_for_undo (entry);
}
-GtkWidget*
+GtkWidget *
nautilus_entry_new (void)
{
- return GTK_WIDGET (gtk_type_new (NAUTILUS_TYPE_ENTRY));
+ return gtk_widget_new (NAUTILUS_TYPE_ENTRY, NULL);
}
static void
diff --git a/libnautilus-private/nautilus-file-operations-progress.c b/libnautilus-private/nautilus-file-operations-progress.c
index 45601d564..7ba7ffb33 100644
--- a/libnautilus-private/nautilus-file-operations-progress.c
+++ b/libnautilus-private/nautilus-file-operations-progress.c
@@ -274,7 +274,7 @@ nautilus_file_operations_progress_new (const char *title,
GtkWidget *widget;
NautilusFileOperationsProgress *dialog;
- widget = gtk_type_new (nautilus_file_operations_progress_get_type ());
+ widget = gtk_widget_new (nautilus_file_operations_progress_get_type (), NULL);
dialog = NAUTILUS_FILE_OPERATIONS_PROGRESS (widget);
nautilus_file_operations_progress_set_operation_string (dialog, operation_string);
diff --git a/libnautilus-private/nautilus-file.c b/libnautilus-private/nautilus-file.c
index 267d62ff7..a5502c47c 100644
--- a/libnautilus-private/nautilus-file.c
+++ b/libnautilus-private/nautilus-file.c
@@ -123,7 +123,9 @@ nautilus_file_new_from_name (NautilusDirectory *directory,
g_return_val_if_fail (name != NULL, NULL);
g_return_val_if_fail (name[0] != '\0', NULL);
- file = gtk_type_new (NAUTILUS_TYPE_FILE);
+ file = NAUTILUS_FILE (gtk_object_new (NAUTILUS_TYPE_FILE, NULL));
+ gtk_object_ref (GTK_OBJECT (file));
+ gtk_object_sink (GTK_OBJECT (file));
nautilus_directory_ref (directory);
@@ -228,7 +230,9 @@ nautilus_file_new_from_info (NautilusDirectory *directory,
g_return_val_if_fail (NAUTILUS_IS_DIRECTORY (directory), NULL);
g_return_val_if_fail (info != NULL, NULL);
- file = gtk_type_new (NAUTILUS_TYPE_FILE);
+ file = NAUTILUS_FILE (gtk_object_new (NAUTILUS_TYPE_FILE, NULL));
+ gtk_object_ref (GTK_OBJECT (file));
+ gtk_object_sink (GTK_OBJECT (file));
nautilus_directory_ref (directory);
file->details->directory = directory;
diff --git a/libnautilus-private/nautilus-font-factory.c b/libnautilus-private/nautilus-font-factory.c
index 347562d71..136a6171c 100644
--- a/libnautilus-private/nautilus-font-factory.c
+++ b/libnautilus-private/nautilus-font-factory.c
@@ -23,14 +23,24 @@
*/
#include <config.h>
-
#include "nautilus-font-factory.h"
+
+#include "nautilus-global-preferences.h"
#include "nautilus-gtk-macros.h"
#include "nautilus-string.h"
-#include "nautilus-global-preferences.h"
-
-#include <unistd.h>
#include <pthread.h>
+#include <unistd.h>
+
+#define NAUTILUS_TYPE_FONT_FACTORY \
+ (nautilus_font_factory_get_type ())
+#define NAUTILUS_FONT_FACTORY(obj) \
+ (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_FONT_FACTORY, NautilusFontFactory))
+#define NAUTILUS_FONT_FACTORY_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_FONT_FACTORY, NautilusFontFactoryClass))
+#define NAUTILUS_IS_FONT_FACTORY(obj) \
+ (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_FONT_FACTORY))
+#define NAUTILUS_IS_FONT_FACTORY_CLASS(klass) \
+ (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_FONT_FACTORY))
/* The font factory */
typedef struct {
@@ -49,36 +59,33 @@ typedef struct {
GdkFont *font;
} FontHashNode;
-static GtkType nautilus_font_factory_get_type (void);
-static void nautilus_font_factory_initialize_class (NautilusFontFactoryClass *class);
-static void nautilus_font_factory_initialize (NautilusFontFactory *factory);
-static NautilusFontFactory *nautilus_get_current_font_factory (void);
-static NautilusFontFactory *nautilus_font_factory_new (void);
-static char * make_font_name_string (const char *foundry,
- const char *familiy,
- const char *weight,
- const char *slant,
- const char *set_width,
- const char *add_style,
- guint size_in_pixels);
-static FontHashNode * font_hash_node_alloc (const char *name);
-static FontHashNode * font_hash_node_lookup (const char *name);
-static FontHashNode * font_hash_node_lookup_with_insertion (const char *name);
-
-#if 0
-static void font_hash_node_free (FontHashNode *node);
-#endif
-
-NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusFontFactory, nautilus_font_factory, GTK_TYPE_OBJECT)
+static GdkFont *fixed_font;
+static NautilusFontFactory *global_font_factory = NULL;
+
+static GtkType nautilus_font_factory_get_type (void);
+static void nautilus_font_factory_initialize_class (NautilusFontFactoryClass *class);
+static void nautilus_font_factory_initialize (NautilusFontFactory *factory);
+static void destroy (GtkObject *object);
+
+NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusFontFactory,
+ nautilus_font_factory,
+ GTK_TYPE_OBJECT)
+
+static void
+unref_global_font_factory (void)
+{
+ gtk_object_unref (GTK_OBJECT (global_font_factory));
+}
/* Return a pointer to the single global font factory. */
static NautilusFontFactory *
nautilus_get_current_font_factory (void)
{
- static NautilusFontFactory *global_font_factory = NULL;
-
if (global_font_factory == NULL) {
- global_font_factory = nautilus_font_factory_new ();
+ global_font_factory = NAUTILUS_FONT_FACTORY (gtk_object_new (nautilus_font_factory_get_type (), NULL));
+ gtk_object_ref (GTK_OBJECT (global_font_factory));
+ gtk_object_sink (GTK_OBJECT (global_font_factory));
+ g_atexit (unref_global_font_factory);
}
return global_font_factory;
@@ -90,17 +97,6 @@ nautilus_font_factory_get (void)
return GTK_OBJECT (nautilus_get_current_font_factory ());
}
-/* Create the font factory. */
-static NautilusFontFactory *
-nautilus_font_factory_new (void)
-{
- NautilusFontFactory *factory;
-
- factory = (NautilusFontFactory *) gtk_object_new (nautilus_font_factory_get_type (), NULL);
-
- return factory;
-}
-
static void
nautilus_font_factory_initialize (NautilusFontFactory *factory)
{
@@ -113,79 +109,91 @@ nautilus_font_factory_initialize_class (NautilusFontFactoryClass *class)
GtkObjectClass *object_class;
object_class = GTK_OBJECT_CLASS (class);
+ object_class->destroy = destroy;
}
static FontHashNode *
font_hash_node_alloc (const char *name)
{
- FontHashNode * node;
+ FontHashNode *node;
g_assert (name != NULL);
- node = g_new (FontHashNode, 1);
-
+ node = g_new0 (FontHashNode, 1);
node->name = g_strdup (name);
- node->font = NULL;
-
return node;
}
-#if 0
static void
font_hash_node_free (FontHashNode *node)
{
g_assert (node != NULL);
g_free (node->name);
+ gdk_font_unref (node->font);
g_free (node);
}
-#endif
+
+static void
+free_one_hash_node (gpointer key, gpointer value, gpointer callback_data)
+{
+ FontHashNode *node;
+
+ g_assert (key != NULL);
+ g_assert (value != NULL);
+ g_assert (callback_data == NULL);
+
+ node = value;
+
+ g_assert (node->name == key);
+
+ font_hash_node_free (node);
+}
+
+static void
+destroy (GtkObject *object)
+{
+ NautilusFontFactory *factory;
+
+ factory = NAUTILUS_FONT_FACTORY (object);
+
+ g_hash_table_foreach (factory->fonts, free_one_hash_node, NULL);
+ g_hash_table_destroy (factory->fonts);
+
+ NAUTILUS_CALL_PARENT_CLASS (GTK_OBJECT_CLASS, destroy, (object));
+}
static FontHashNode *
font_hash_node_lookup (const char *name)
{
- static NautilusFontFactory *factory;
-
- gpointer hash_value;
+ NautilusFontFactory *factory;
g_assert (name != NULL);
factory = nautilus_get_current_font_factory ();
- g_assert (factory != NULL);
-
- hash_value = g_hash_table_lookup (factory->fonts, (gconstpointer) name);
-
- return (FontHashNode *) hash_value;
+ return (FontHashNode *) g_hash_table_lookup (factory->fonts, name);
}
static FontHashNode *
font_hash_node_lookup_with_insertion (const char *name)
{
- static NautilusFontFactory *factory;
-
- FontHashNode *node = NULL;
+ NautilusFontFactory *factory;
+ FontHashNode *node;
+ GdkFont *font;
g_assert (name != NULL);
factory = nautilus_get_current_font_factory ();
- g_assert (factory != NULL);
-
-
node = font_hash_node_lookup (name);
if (node == NULL) {
- GdkFont *font;
-
font = gdk_font_load (name);
if (font != NULL) {
node = font_hash_node_alloc (name);
node->font = font;
-
- gdk_font_ref (node->font);
-
g_hash_table_insert (factory->fonts, node->name, node);
}
}
@@ -195,7 +203,7 @@ font_hash_node_lookup_with_insertion (const char *name)
static char *
make_font_name_string (const char *foundry,
- const char *familiy,
+ const char *family,
const char *weight,
const char *slant,
const char *set_width,
@@ -229,7 +237,7 @@ make_font_name_string (const char *foundry,
| | | | | | | | | | | | | +------------- char_set_encoding */
font_name = g_strdup_printf ("-%s-%s-%s-%s-%s-%s-%d-%s-%s-%s-%s-%s-%s-%s",
foundry,
- familiy,
+ family,
weight,
slant,
set_width,
@@ -251,8 +259,8 @@ GdkFont *
nautilus_font_factory_get_font_by_family (const char *family,
guint size_in_pixels)
{
- static NautilusFontFactory *factory;
- GdkFont *font = NULL;
+ NautilusFontFactory *factory;
+ GdkFont *font;
FontHashNode *node;
char *font_name;
@@ -260,8 +268,6 @@ nautilus_font_factory_get_font_by_family (const char *family,
g_return_val_if_fail (size_in_pixels > 0, NULL);
factory = nautilus_get_current_font_factory ();
- g_assert (factory != NULL);
-
font_name = make_font_name_string ("*",
family,
"medium",
@@ -270,18 +276,13 @@ nautilus_font_factory_get_font_by_family (const char *family,
"*",
size_in_pixels);
- g_assert (font_name != NULL);
-
node = font_hash_node_lookup_with_insertion (font_name);
if (node != NULL) {
- g_assert (node->font);
-
+ g_assert (node->font != NULL);
font = node->font;
-
gdk_font_ref (font);
- }
- else {
+ } else {
font = nautilus_font_factory_get_fallback_font ();
}
@@ -305,16 +306,21 @@ nautilus_font_factory_get_font_from_preferences (guint size_in_pixels)
return font;
}
+static void
+unref_fixed_font (void)
+{
+ gdk_font_unref (fixed_font);
+}
+
GdkFont *
nautilus_font_factory_get_fallback_font (void)
{
- static GdkFont *fixed_font;
-
if (fixed_font == NULL) {
fixed_font = gdk_font_load ("fixed");
g_assert (fixed_font != NULL);
- gdk_font_ref (fixed_font);
+ g_atexit (unref_fixed_font);
}
+ gdk_font_ref (fixed_font);
return fixed_font;
}
diff --git a/libnautilus-private/nautilus-font-picker.c b/libnautilus-private/nautilus-font-picker.c
index 1fbc9f170..e18dc91e2 100644
--- a/libnautilus-private/nautilus-font-picker.c
+++ b/libnautilus-private/nautilus-font-picker.c
@@ -391,14 +391,10 @@ set_width_picker_changed_callback (GtkWidget *string_picker, gpointer user_data)
/*
* NautilusFontPicker public methods
*/
-GtkWidget*
+GtkWidget *
nautilus_font_picker_new (void)
{
- NautilusFontPicker *font_picker;
-
- font_picker = gtk_type_new (nautilus_font_picker_get_type ());
-
- return GTK_WIDGET (font_picker);
+ return gtk_widget_new (nautilus_font_picker_get_type (), NULL);
}
void
diff --git a/libnautilus-private/nautilus-horizontal-splitter.c b/libnautilus-private/nautilus-horizontal-splitter.c
index 437b1cb8a..70f1b5198 100644
--- a/libnautilus-private/nautilus-horizontal-splitter.c
+++ b/libnautilus-private/nautilus-horizontal-splitter.c
@@ -286,7 +286,7 @@ toggle_splitter_position (NautilusHorizontalSplitter *splitter)
GtkWidget *
nautilus_horizontal_splitter_new (void)
{
- return GTK_WIDGET (gtk_type_new (nautilus_horizontal_splitter_get_type ()));
+ return gtk_widget_new (nautilus_horizontal_splitter_get_type (), NULL);
}
/* handle mouse downs by remembering the position and the time */
diff --git a/libnautilus-private/nautilus-icon-container.c b/libnautilus-private/nautilus-icon-container.c
index 3f13c80b3..a67ad9d69 100644
--- a/libnautilus-private/nautilus-icon-container.c
+++ b/libnautilus-private/nautilus-icon-container.c
@@ -3113,7 +3113,7 @@ nautilus_icon_container_new (void)
gtk_widget_push_visual (gdk_rgb_get_visual ());
gtk_widget_push_colormap (gdk_rgb_get_cmap ());
- container = gtk_type_new (nautilus_icon_container_get_type ());
+ container = gtk_widget_new (nautilus_icon_container_get_type (), NULL);
gtk_widget_pop_visual ();
gtk_widget_pop_colormap ();
diff --git a/libnautilus-private/nautilus-icon-factory.c b/libnautilus-private/nautilus-icon-factory.c
index 7840f2e84..1c2fffed0 100644
--- a/libnautilus-private/nautilus-icon-factory.c
+++ b/libnautilus-private/nautilus-icon-factory.c
@@ -276,6 +276,8 @@ get_icon_factory (void)
if (global_icon_factory == NULL) {
global_icon_factory = NAUTILUS_ICON_FACTORY
(gtk_object_new (nautilus_icon_factory_get_type (), NULL));
+ gtk_object_ref (GTK_OBJECT (global_icon_factory));
+ gtk_object_sink (GTK_OBJECT (global_icon_factory));
/* Update to match the theme. */
icon_theme_changed_callback (NULL);
diff --git a/libnautilus-private/nautilus-image.c b/libnautilus-private/nautilus-image.c
index 60dd62506..8affda5e7 100644
--- a/libnautilus-private/nautilus-image.c
+++ b/libnautilus-private/nautilus-image.c
@@ -415,10 +415,10 @@ nautilus_image_paint (NautilusImage *image,
}
/* Public NautilusImage */
-GtkWidget*
+GtkWidget *
nautilus_image_new (void)
{
- return GTK_WIDGET (gtk_type_new (nautilus_image_get_type ()));
+ return gtk_widget_new (nautilus_image_get_type (), NULL);
}
void
diff --git a/libnautilus-private/nautilus-keep-last-vertical-box.c b/libnautilus-private/nautilus-keep-last-vertical-box.c
index 473c65f5e..7b0fe4aca 100644
--- a/libnautilus-private/nautilus-keep-last-vertical-box.c
+++ b/libnautilus-private/nautilus-keep-last-vertical-box.c
@@ -70,7 +70,7 @@ nautilus_keep_last_vertical_box_new (gint spacing)
{
NautilusKeepLastVerticalBox *box;
- box = gtk_type_new (nautilus_keep_last_vertical_box_get_type ());
+ box = NAUTILUS_KEEP_LAST_VERTICAL_BOX (gtk_widget_new (nautilus_keep_last_vertical_box_get_type (), NULL));
GTK_BOX (box)->spacing = spacing;
diff --git a/libnautilus-private/nautilus-label.c b/libnautilus-private/nautilus-label.c
index 5675262da..4dda451ae 100644
--- a/libnautilus-private/nautilus-label.c
+++ b/libnautilus-private/nautilus-label.c
@@ -452,12 +452,12 @@ label_recompute_line_geometries (NautilusLabel *label)
}
/* Public NautilusLabel */
-GtkWidget*
+GtkWidget *
nautilus_label_new (const char *text)
{
NautilusLabel *label;
- label = NAUTILUS_LABEL (gtk_type_new (nautilus_label_get_type ()));
+ label = NAUTILUS_LABEL (gtk_widget_new (nautilus_label_get_type (), NULL));
nautilus_label_set_text (label, text);
diff --git a/libnautilus-private/nautilus-list-column-title.c b/libnautilus-private/nautilus-list-column-title.c
index 93262fb4b..d52bdc3eb 100644
--- a/libnautilus-private/nautilus-list-column-title.c
+++ b/libnautilus-private/nautilus-list-column-title.c
@@ -155,7 +155,8 @@ nautilus_list_column_title_initialize_class (gpointer klass)
NautilusListColumnTitle *
nautilus_list_column_title_new (void)
{
- return gtk_type_new (nautilus_list_column_title_get_type ());
+ return NAUTILUS_LIST_COLUMN_TITLE
+ (gtk_widget_new (nautilus_list_column_title_get_type (), NULL));
}
static void
@@ -234,16 +235,16 @@ nautilus_list_column_title_finalize (GtkObject *object)
if (column_title->details->up_indicator_pixmap != NULL) {
gdk_pixmap_unref (column_title->details->up_indicator_pixmap);
column_title->details->up_indicator_pixmap = NULL;
-
- g_assert (column_title->details->up_indicator_mask != NULL);
+ }
+ if (column_title->details->up_indicator_mask != NULL) {
gdk_bitmap_unref (column_title->details->up_indicator_mask);
column_title->details->up_indicator_mask = NULL;
}
if (column_title->details->down_indicator_pixmap != NULL) {
gdk_pixmap_unref (column_title->details->down_indicator_pixmap);
column_title->details->down_indicator_pixmap = NULL;
-
- g_assert (column_title->details->down_indicator_mask != NULL);
+ }
+ if (column_title->details->down_indicator_mask != NULL) {
gdk_bitmap_unref (column_title->details->down_indicator_mask);
column_title->details->down_indicator_mask = NULL;
}
diff --git a/libnautilus-private/nautilus-list.c b/libnautilus-private/nautilus-list.c
index d3efda5ae..135e215a5 100644
--- a/libnautilus-private/nautilus-list.c
+++ b/libnautilus-private/nautilus-list.c
@@ -3150,7 +3150,7 @@ nautilus_list_new_with_titles (int columns, const char * const *titles)
{
NautilusList *list;
- list = gtk_type_new (nautilus_list_get_type ());
+ list = NAUTILUS_LIST (gtk_type_new (nautilus_list_get_type ()));
gtk_clist_construct (GTK_CLIST (list), columns, NULL);
if (titles) {
GtkCList *clist;
diff --git a/libnautilus-private/nautilus-password-dialog.c b/libnautilus-private/nautilus-password-dialog.c
index c5da58062..cab03648c 100644
--- a/libnautilus-private/nautilus-password-dialog.c
+++ b/libnautilus-private/nautilus-password-dialog.c
@@ -210,7 +210,7 @@ caption_table_activate_callback (GtkWidget *widget, gint entry, gpointer callbac
}
/* Public NautilusPasswordDialog methods */
-GtkWidget*
+GtkWidget *
nautilus_password_dialog_new (const char *dialog_title,
const char *message,
const char *username,
@@ -219,7 +219,7 @@ nautilus_password_dialog_new (const char *dialog_title,
{
NautilusPasswordDialog *password_dialog;
- password_dialog = gtk_type_new (nautilus_password_dialog_get_type ());
+ password_dialog = NAUTILUS_PASSWORD_DIALOG (gtk_widget_new (nautilus_password_dialog_get_type (), NULL));
gnome_dialog_constructv (GNOME_DIALOG (password_dialog), dialog_title, stock_buttons);
diff --git a/libnautilus-private/nautilus-preference.c b/libnautilus-private/nautilus-preference.c
index cbbd59481..44197b167 100644
--- a/libnautilus-private/nautilus-preference.c
+++ b/libnautilus-private/nautilus-preference.c
@@ -302,12 +302,11 @@ nautilus_preference_new_from_type (const char *name,
g_return_val_if_fail (name != NULL, NULL);
- preference = gtk_type_new (nautilus_preference_get_type ());
-
- g_assert (preference != NULL );
+ preference = NAUTILUS_PREFERENCE (gtk_object_new (nautilus_preference_get_type (), NULL));
+ gtk_object_ref (GTK_OBJECT (preference));
+ gtk_object_sink (GTK_OBJECT (preference));
preference->detail->name = g_strdup (name);
-
preference->detail->type = type;
preference_allocate_type_info (preference);
diff --git a/libnautilus-private/nautilus-preferences-box.c b/libnautilus-private/nautilus-preferences-box.c
index a1053549d..557e7dafd 100644
--- a/libnautilus-private/nautilus-preferences-box.c
+++ b/libnautilus-private/nautilus-preferences-box.c
@@ -312,7 +312,8 @@ nautilus_preferences_box_new (const gchar *box_title)
{
NautilusPreferencesBox *prefs_box;
- prefs_box = gtk_type_new (nautilus_preferences_box_get_type ());
+ prefs_box = NAUTILUS_PREFERENCES_BOX
+ (gtk_widget_new (nautilus_preferences_box_get_type (), NULL));
prefs_box_construct (prefs_box);
diff --git a/libnautilus-private/nautilus-preferences-dialog.c b/libnautilus-private/nautilus-preferences-dialog.c
index 48d0dfd27..1a126b778 100644
--- a/libnautilus-private/nautilus-preferences-dialog.c
+++ b/libnautilus-private/nautilus-preferences-dialog.c
@@ -211,12 +211,13 @@ nautilus_preferences_dialog_construct (NautilusPreferencesDialog *prefs_dialog,
gtk_widget_show (prefs_dialog->details->prefs_box);
}
-GtkWidget*
+GtkWidget *
nautilus_preferences_dialog_new (const gchar *dialog_title)
{
NautilusPreferencesDialog *prefs_dialog;
- prefs_dialog = gtk_type_new (nautilus_preferences_dialog_get_type ());
+ prefs_dialog = NAUTILUS_PREFERENCES_DIALOG
+ (gtk_widget_new (nautilus_preferences_dialog_get_type (), NULL));
nautilus_preferences_dialog_construct (prefs_dialog, dialog_title);
diff --git a/libnautilus-private/nautilus-preferences-group.c b/libnautilus-private/nautilus-preferences-group.c
index 666c71a15..b96163ec2 100644
--- a/libnautilus-private/nautilus-preferences-group.c
+++ b/libnautilus-private/nautilus-preferences-group.c
@@ -181,14 +181,15 @@ preferences_group_construct (NautilusPreferencesGroup *group,
/*
* NautilusPreferencesGroup public methods
*/
-GtkWidget*
+GtkWidget *
nautilus_preferences_group_new (const gchar *title)
{
NautilusPreferencesGroup *group;
g_return_val_if_fail (title != NULL, NULL);
- group = gtk_type_new (nautilus_preferences_group_get_type ());
+ group = NAUTILUS_PREFERENCES_GROUP
+ (gtk_widget_new (nautilus_preferences_group_get_type (), NULL));
preferences_group_construct (group, title);
diff --git a/libnautilus-private/nautilus-preferences-item.c b/libnautilus-private/nautilus-preferences-item.c
index 9cc460497..d8e2311f8 100644
--- a/libnautilus-private/nautilus-preferences-item.c
+++ b/libnautilus-private/nautilus-preferences-item.c
@@ -627,7 +627,8 @@ nautilus_preferences_item_new (const gchar *preference_name,
g_return_val_if_fail (preference_name != NULL, NULL);
- item = gtk_type_new (nautilus_preferences_item_get_type ());
+ item = NAUTILUS_PREFERENCES_ITEM
+ (gtk_widget_new (nautilus_preferences_item_get_type (), NULL));
/* Cast away the constness so that the preferences object can be
* refed in this object. */
diff --git a/libnautilus-private/nautilus-preferences-pane.c b/libnautilus-private/nautilus-preferences-pane.c
index 54051fc05..2b5167d92 100644
--- a/libnautilus-private/nautilus-preferences-pane.c
+++ b/libnautilus-private/nautilus-preferences-pane.c
@@ -214,7 +214,7 @@ prefs_pane_construct (NautilusPreferencesPane *prefs_pane,
/*
* NautilusPreferencesPane public methods
*/
-GtkWidget*
+GtkWidget *
nautilus_preferences_pane_new (const gchar *pane_title,
const gchar *pane_description)
{
@@ -223,7 +223,8 @@ nautilus_preferences_pane_new (const gchar *pane_title,
g_return_val_if_fail (pane_title != NULL, NULL);
g_return_val_if_fail (pane_description != NULL, NULL);
- prefs_pane = gtk_type_new (nautilus_preferences_pane_get_type ());
+ prefs_pane = NAUTILUS_PREFERENCES_PANE
+ (gtk_widget_new (nautilus_preferences_pane_get_type (), NULL));
prefs_pane_construct (prefs_pane, pane_title, pane_description);
diff --git a/libnautilus-private/nautilus-radio-button-group.c b/libnautilus-private/nautilus-radio-button-group.c
index 25b46f1bc..71db70521 100644
--- a/libnautilus-private/nautilus-radio-button-group.c
+++ b/libnautilus-private/nautilus-radio-button-group.c
@@ -201,7 +201,8 @@ nautilus_radio_button_group_new (gboolean is_horizontal)
{
NautilusRadioButtonGroup *button_group;
- button_group = gtk_type_new (nautilus_radio_button_group_get_type ());
+ button_group = NAUTILUS_RADIO_BUTTON_GROUP
+ (gtk_widget_new (nautilus_radio_button_group_get_type (), NULL));
button_group->details->horizontal = is_horizontal;
return GTK_WIDGET (button_group);
diff --git a/libnautilus-private/nautilus-scalable-font.c b/libnautilus-private/nautilus-scalable-font.c
index 10921f19c..5e7bf3d99 100644
--- a/libnautilus-private/nautilus-scalable-font.c
+++ b/libnautilus-private/nautilus-scalable-font.c
@@ -595,7 +595,9 @@ nautilus_scalable_font_new (const char *family,
__FUNCTION__, family, weight, slant, set_width, font_entry->font_handle);
#endif
- font = NAUTILUS_SCALABLE_FONT (gtk_type_new (nautilus_scalable_font_get_type ()));
+ font = NAUTILUS_SCALABLE_FONT (gtk_object_new (nautilus_scalable_font_get_type (), NULL));
+ gtk_object_ref (GTK_OBJECT (font));
+ gtk_object_sink (GTK_OBJECT (font));
font->detail->font_handle = font_entry->font_handle;
diff --git a/libnautilus-private/nautilus-string-picker.c b/libnautilus-private/nautilus-string-picker.c
index 1d4ef14ea..ad804f939 100644
--- a/libnautilus-private/nautilus-string-picker.c
+++ b/libnautilus-private/nautilus-string-picker.c
@@ -155,14 +155,10 @@ option_menu_activate_callback (GtkWidget *menu_item, gpointer callback_data)
/*
* NautilusStringPicker public methods
*/
-GtkWidget*
+GtkWidget *
nautilus_string_picker_new (void)
{
- NautilusStringPicker *string_picker;
-
- string_picker = gtk_type_new (nautilus_string_picker_get_type ());
-
- return GTK_WIDGET (string_picker);
+ return gtk_widget_new (nautilus_string_picker_get_type (), NULL);
}
/**
diff --git a/libnautilus-private/nautilus-text-caption.c b/libnautilus-private/nautilus-text-caption.c
index 683e6eb4c..8e4e853f0 100644
--- a/libnautilus-private/nautilus-text-caption.c
+++ b/libnautilus-private/nautilus-text-caption.c
@@ -152,14 +152,10 @@ entry_changed_callback (GtkWidget *entry, gpointer user_data)
/*
* NautilusTextCaption public methods
*/
-GtkWidget*
+GtkWidget *
nautilus_text_caption_new (void)
{
- NautilusTextCaption *text_caption;
-
- text_caption = gtk_type_new (nautilus_text_caption_get_type ());
-
- return GTK_WIDGET (text_caption);
+ return gtk_widget_new (nautilus_text_caption_get_type (), NULL);
}
/**
diff --git a/libnautilus-private/nautilus-theme.c b/libnautilus-private/nautilus-theme.c
index 00941f5c8..068cfb001 100644
--- a/libnautilus-private/nautilus-theme.c
+++ b/libnautilus-private/nautilus-theme.c
@@ -53,18 +53,18 @@ static xmlDocPtr default_theme_document = NULL;
/* return the current theme by asking the preferences machinery */
char *
-nautilus_theme_get_theme(void)
+nautilus_theme_get_theme (void)
{
return nautilus_preferences_get (NAUTILUS_PREFERENCES_THEME, "default");
}
/* set the current theme */
void
-nautilus_theme_set_theme(const char *new_theme)
+nautilus_theme_set_theme (const char *new_theme)
{
char *old_theme;
- old_theme = nautilus_theme_get_theme();
+ old_theme = nautilus_theme_get_theme ();
if (nautilus_strcmp (old_theme, new_theme)) {
nautilus_preferences_set (NAUTILUS_PREFERENCES_THEME, new_theme);
}
@@ -157,7 +157,7 @@ nautilus_theme_get_theme_data (const char *resource_name, const char *property_n
if (theme_document != NULL) {
/* fetch the resource node */
- resource_node = nautilus_xml_get_child_by_name(xmlDocGetRootElement (theme_document), resource_name);
+ resource_node = nautilus_xml_get_child_by_name (xmlDocGetRootElement (theme_document), resource_name);
if (resource_node) {
temp_str = xmlGetProp(resource_node, property_name);
if (temp_str) {
diff --git a/libnautilus-private/nautilus-undo-context.c b/libnautilus-private/nautilus-undo-context.c
index f64639e59..cc94a9f02 100644
--- a/libnautilus-private/nautilus-undo-context.c
+++ b/libnautilus-private/nautilus-undo-context.c
@@ -118,11 +118,14 @@ nautilus_undo_context_new (Nautilus_Undo_Manager undo_manager)
CORBA_exception_init (&ev);
- context = gtk_type_new (nautilus_undo_context_get_type ());
+ context = NAUTILUS_UNDO_CONTEXT (gtk_object_new (nautilus_undo_context_get_type (), NULL));
context->undo_manager = CORBA_Object_duplicate (undo_manager, &ev);
CORBA_exception_free (&ev);
+ gtk_object_ref (GTK_OBJECT (context));
+ gtk_object_sink (GTK_OBJECT (context));
+
return context;
}
diff --git a/libnautilus-private/nautilus-undo-manager.c b/libnautilus-private/nautilus-undo-manager.c
index b684978df..41a41aacd 100644
--- a/libnautilus-private/nautilus-undo-manager.c
+++ b/libnautilus-private/nautilus-undo-manager.c
@@ -230,7 +230,13 @@ corba_undo (PortableServer_Servant servant,
NautilusUndoManager *
nautilus_undo_manager_new (void)
{
- return gtk_type_new (nautilus_undo_manager_get_type ());
+ NautilusUndoManager *manager;
+
+ manager = NAUTILUS_UNDO_MANAGER (gtk_object_new (nautilus_undo_manager_get_type (), NULL));
+ gtk_object_ref (GTK_OBJECT (manager));
+ gtk_object_sink (GTK_OBJECT (manager));
+
+ return manager;
}
static void
diff --git a/libnautilus-private/nautilus-user-level-manager.c b/libnautilus-private/nautilus-user-level-manager.c
index 618bd9709..c8eaed62b 100644
--- a/libnautilus-private/nautilus-user-level-manager.c
+++ b/libnautilus-private/nautilus-user-level-manager.c
@@ -136,6 +136,8 @@ user_level_manager_new (void)
}
manager = NAUTILUS_USER_LEVEL_MANAGER (gtk_object_new (nautilus_user_level_manager_get_type (), NULL));
+ gtk_object_ref (GTK_OBJECT (manager));
+ gtk_object_sink (GTK_OBJECT (manager));
manager->gconf_client = gconf_client_get_default ();
diff --git a/libnautilus-private/nautilus-volume-monitor.c b/libnautilus-private/nautilus-volume-monitor.c
index 55eba260c..9592c9bce 100644
--- a/libnautilus-private/nautilus-volume-monitor.c
+++ b/libnautilus-private/nautilus-volume-monitor.c
@@ -190,6 +190,12 @@ nautilus_volume_monitor_destroy (GtkObject *object)
NAUTILUS_CALL_PARENT_CLASS (GTK_OBJECT_CLASS, destroy, (object));
}
+static void
+unref_global_volume_monitor (void)
+{
+ gtk_object_unref (GTK_OBJECT (global_volume_monitor));
+}
+
/* Return the global instance of the NautilusVolumeMonitor. Create one
* if we have not done so already
*/
@@ -200,6 +206,9 @@ nautilus_volume_monitor_get (void)
global_volume_monitor = NAUTILUS_VOLUME_MONITOR
(gtk_object_new (nautilus_volume_monitor_get_type(),
NULL));
+ gtk_object_ref (GTK_OBJECT (global_volume_monitor));
+ gtk_object_sink (GTK_OBJECT (global_volume_monitor));
+ g_atexit (unref_global_volume_monitor);
}
return global_volume_monitor;