diff options
author | Christian Persch <chpe@gnome.org> | 2007-12-03 18:02:35 +0000 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2007-12-03 18:02:35 +0000 |
commit | 0c5414e64af086b0a98e090c5056440f52be61fd (patch) | |
tree | ac6704816f2fa03f3b6ad003bf8fe7a78d4cbda7 /src | |
parent | a35f15890c6e9773b7061d0719d93ed58e39d391 (diff) | |
download | nautilus-0c5414e64af086b0a98e090c5056440f52be61fd.tar.gz |
Remove some small allocations, and use GSlice more often. Bug #461795.
2007-12-03 Christian Persch <chpe@gnome.org>
* libnautilus-private/nautilus-directory-metafile.c:
(nautilus_directory_get_integer_file_metadata),
(nautilus_directory_set_integer_file_metadata):
* libnautilus-private/nautilus-directory.c:
(nautilus_directory_schedule_position_set):
* libnautilus-private/nautilus-dnd.c: (add_one_gnome_icon):
* libnautilus-private/nautilus-file-operations-progress.c:
(time_remaining_callback):
* libnautilus-private/nautilus-icon-dnd.c: (handle_local_move):
* src/file-manager/fm-directory-view.c: (new_folder_done):
* src/nautilus-application.c: (get_desktop_manager_selection):
* src/nautilus-connect-server-dialog.c: (display_server_uri):
* src/nautilus-information-panel.c: (receive_dropped_color):
* src/nautilus-property-browser.c: (add_color_to_browser):
* src/nautilus-window.c: (nautilus_window_init),
(nautilus_window_finalize), (free_activate_view_data),
(add_view_as_menu_item), (nautilus_window_synch_view_as_menus),
(nautilus_window_class_init): Remove some small allocations, and use
GSlice more often. Bug #461795.
svn path=/trunk/; revision=13479
Diffstat (limited to 'src')
-rw-r--r-- | src/file-manager/fm-directory-view.c | 5 | ||||
-rw-r--r-- | src/nautilus-application.c | 5 | ||||
-rw-r--r-- | src/nautilus-connect-server-dialog.c | 4 | ||||
-rw-r--r-- | src/nautilus-information-panel.c | 6 | ||||
-rw-r--r-- | src/nautilus-property-browser.c | 11 | ||||
-rw-r--r-- | src/nautilus-window.c | 37 |
6 files changed, 30 insertions, 38 deletions
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c index 3f8d05e45..f5643c343 100644 --- a/src/file-manager/fm-directory-view.c +++ b/src/file-manager/fm-directory-view.c @@ -3721,7 +3721,7 @@ new_folder_done (const char *new_folder_uri, gpointer user_data) { FMDirectoryView *directory_view; NautilusFile *file; - char *screen_string; + char screen_string[32]; GdkScreen *screen; NewFolderData *data; @@ -3742,14 +3742,13 @@ new_folder_done (const char *new_folder_uri, gpointer user_data) } screen = gtk_widget_get_screen (GTK_WIDGET (directory_view)); - screen_string = g_strdup_printf ("%d", gdk_screen_get_number (screen)); + g_snprintf (screen_string, sizeof (screen_string), "%d", gdk_screen_get_number (screen)); file = nautilus_file_get_by_uri (new_folder_uri); nautilus_file_set_metadata (file, NAUTILUS_METADATA_KEY_SCREEN, NULL, screen_string); - g_free (screen_string); if (g_hash_table_lookup_extended (data->added_uris, new_folder_uri, NULL, NULL)) { /* The file was already added */ diff --git a/src/nautilus-application.c b/src/nautilus-application.c index 18d7d3ce4..37dbf054c 100644 --- a/src/nautilus-application.c +++ b/src/nautilus-application.c @@ -717,14 +717,13 @@ selection_get_cb (GtkWidget *widget, static GtkWidget * get_desktop_manager_selection (GdkDisplay *display, int screen) { - char *selection_name; + char selection_name[32]; GdkAtom selection_atom; Window selection_owner; GtkWidget *selection_widget; - selection_name = g_strdup_printf ("_NET_DESKTOP_MANAGER_S%d", screen); + g_snprintf (selection_name, sizeof (selection_name), "_NET_DESKTOP_MANAGER_S%d", screen); selection_atom = gdk_atom_intern (selection_name, FALSE); - g_free (selection_name); selection_owner = XGetSelectionOwner (GDK_DISPLAY_XDISPLAY (display), gdk_x11_atom_to_xatom_for_display (display, diff --git a/src/nautilus-connect-server-dialog.c b/src/nautilus-connect-server-dialog.c index ea85bc0d2..c7842dfee 100644 --- a/src/nautilus-connect-server-dialog.c +++ b/src/nautilus-connect-server-dialog.c @@ -736,9 +736,9 @@ display_server_uri (NautilusConnectServerDialog *dialog, GnomeVFSURI *uri) if (meth->flags & SHOW_PORT) { guint port = gnome_vfs_uri_get_host_port (uri); if (port != 0) { - char *sport = g_strdup_printf ("%d", port); + char sport[32]; + g_snprintf (sport, sizeof (sport), "%d", port); gtk_entry_set_text (GTK_ENTRY (dialog->details->port_entry), sport); - g_free (sport); } } diff --git a/src/nautilus-information-panel.c b/src/nautilus-information-panel.c index a473f0360..3be9b3d78 100644 --- a/src/nautilus-information-panel.c +++ b/src/nautilus-information-panel.c @@ -540,7 +540,7 @@ receive_dropped_color (NautilusInformationPanel *information_panel, GtkSelectionData *selection_data) { guint16 *channels; - char *color_spec; + char color_spec[8]; if (selection_data->length != 8 || selection_data->format != 16) { g_warning ("received invalid color data"); @@ -548,7 +548,8 @@ receive_dropped_color (NautilusInformationPanel *information_panel, } channels = (guint16 *) selection_data->data; - color_spec = g_strdup_printf ("#%02X%02X%02X", channels[0] >> 8, channels[1] >> 8, channels[2] >> 8); + g_snprintf (color_spec, sizeof (color_spec), + "#%02X%02X%02X", channels[0] >> 8, channels[1] >> 8, channels[2] >> 8); switch (hit_test (information_panel, x, y)) { case NO_PART: @@ -570,7 +571,6 @@ receive_dropped_color (NautilusInformationPanel *information_panel, break; } - g_free(color_spec); } /* handle receiving a dropped keyword */ diff --git a/src/nautilus-property-browser.c b/src/nautilus-property-browser.c index 03a3ea0c5..e242ab5a6 100644 --- a/src/nautilus-property-browser.c +++ b/src/nautilus-property-browser.c @@ -1320,17 +1320,17 @@ add_color_to_file (NautilusPropertyBrowser *property_browser, const char *color_ static void add_color_to_browser (GtkWidget *widget, gint which_button, gpointer *data) { - char *color_spec; + char color_spec[8]; const char *color_name; char *stripped_color_name; - + gdouble color[4]; NautilusPropertyBrowser *property_browser = NAUTILUS_PROPERTY_BROWSER (data); if (which_button == GTK_RESPONSE_OK) { gnome_color_picker_get_d (GNOME_COLOR_PICKER (property_browser->details->color_picker), &color[0], &color[1], &color[2], &color[3]); - color_spec = g_strdup_printf - ("#%02X%02X%02X", + g_snprintf (color_spec, sizeof (color_spec), + "#%02X%02X%02X", (guint) (color[0] * 255.0 + 0.5), (guint) (color[1] * 255.0 + 0.5), (guint) (color[2] * 255.0 + 0.5)); @@ -1347,8 +1347,7 @@ add_color_to_browser (GtkWidget *widget, gint which_button, gpointer *data) nautilus_property_browser_update_contents(property_browser); } g_free (stripped_color_name); - g_free(color_spec); - } + } gtk_widget_destroy(property_browser->details->colors_dialog); property_browser->details->colors_dialog = NULL; diff --git a/src/nautilus-window.c b/src/nautilus-window.c index f9bf16fd4..84c6980cd 100644 --- a/src/nautilus-window.c +++ b/src/nautilus-window.c @@ -148,7 +148,7 @@ nautilus_window_init (NautilusWindow *window) GtkWidget *menu; GtkWidget *statusbar; - window->details = g_new0 (NautilusWindowDetails, 1); + window->details = G_TYPE_INSTANCE_GET_PRIVATE (window, NAUTILUS_TYPE_WINDOW, NautilusWindowDetails); window->details->show_hidden_files_mode = NAUTILUS_WINDOW_SHOW_HIDDEN_FILES_DEFAULT; @@ -638,9 +638,7 @@ nautilus_window_finalize (GObject *object) } g_free (window->details->title); - - g_free (window->details); - + G_OBJECT_CLASS (nautilus_window_parent_class)->finalize (object); } @@ -788,7 +786,8 @@ free_activate_view_data (gpointer data) activate_data = data; g_free (activate_data->id); - g_free (activate_data); + + g_slice_free (ActivateViewData, activate_data); } static void @@ -810,16 +809,16 @@ add_view_as_menu_item (NautilusWindow *window, { const NautilusViewInfo *info; GtkRadioAction *action; - char *action_name; + char action_name[32]; ActivateViewData *data; - char *accel; - char *accel_path; + char accel[32]; + char accel_path[48]; unsigned int accel_keyval; info = nautilus_view_factory_lookup (identifier); - action_name = g_strdup_printf ("view_as_%d", index); + g_snprintf (action_name, sizeof (action_name), "view_as_%d", index); action = gtk_radio_action_new (action_name, _(info->view_as_label_with_mnemonic), _(info->display_location_label), @@ -827,18 +826,14 @@ add_view_as_menu_item (NautilusWindow *window, 0); if (index >= 1 && index <= 9) { - accel = g_strdup_printf ("%d", index); - - accel_path = g_strdup_printf ("<Nautilus-Window>/%s", action_name); + g_snprintf (accel, sizeof (accel), "%d", index); + g_snprintf (accel_path, sizeof (accel_path), "<Nautilus-Window>/%s", action_name); accel_keyval = gdk_keyval_from_name (accel); g_assert (accel_keyval != GDK_VoidSymbol); gtk_accel_map_add_entry (accel_path, accel_keyval, GDK_CONTROL_MASK); gtk_action_set_accel_path (GTK_ACTION (action), accel_path); - - g_free (accel); - g_free (accel_path); } if (window->details->view_as_radio_action != NULL) { @@ -850,7 +845,7 @@ add_view_as_menu_item (NautilusWindow *window, window->details->view_as_radio_action = action; } - data = g_new (ActivateViewData, 1); + data = g_slice_new (ActivateViewData); data->window = window; data->id = g_strdup (identifier); g_signal_connect_data (action, "activate", @@ -868,8 +863,7 @@ add_view_as_menu_item (NautilusWindow *window, action_name, GTK_UI_MANAGER_MENUITEM, FALSE); - g_free (action_name); - + return action; /* return value owned by group */ } @@ -949,7 +943,7 @@ static void nautilus_window_synch_view_as_menus (NautilusWindow *window) { int index; - char *action_name; + char action_name[32]; GList *node; GtkAction *action; @@ -972,10 +966,9 @@ nautilus_window_synch_view_as_menus (NautilusWindow *window) remove_extra_viewer_in_view_as_menus (window); } - action_name = g_strdup_printf ("view_as_%d", index); + g_snprintf (action_name, sizeof (action_name), "view_as_%d", index); action = gtk_action_group_get_action (window->details->view_as_action_group, action_name); - g_free (action_name); /* Don't trigger the action callback when we're synchronizing */ g_signal_handlers_block_matched (action, @@ -1692,6 +1685,8 @@ nautilus_window_class_init (NautilusWindowClass *class) "\n" " widget \"*.nautilus-extra-view-widget\" style:rc \"nautilus-extra-view-widgets-style-internal\" \n" "\n"); + + g_type_class_add_private (G_OBJECT_CLASS (class), sizeof (NautilusWindowDetails)); } /** |