From 8dc95a5c584d8fdb99afec102702bd8801b95266 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Rameau?= Date: Thu, 2 Mar 2006 21:23:34 +0000 Subject: Fix gcc 4.1 warnings (dereferencing type-punned pointer will break MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2006-03-02 Jean-François Rameau * embed/ephy-embed-shell.c:(ephy_embed_shell_dispose): * src/ephy-encoding-menu.c: (ephy_encoding_menu_view_dialog_cb): * src/ephy-history-window.c: (cmd_clear), (ephy_history_window_finalize): * src/ephy-shell.c: (ephy_shell_get_pdm_dialog),(ephy_shell_get_prefs_dialog), (ephy_shell_get_print_setup_dialog): * src/prefs-dialog.c: (prefs_dialog_finalize), (font_prefs_button_clicked_cb), (language_editor_add_button_clicked_cb): * src/bookmarks/ephy-bookmarks-editor.c: (ephy_bookmarks_editor_finalize): Fix gcc 4.1 warnings (dereferencing type-punned pointer will break strict-aliasing rules). --- ChangeLog | 13 +++++++++++++ embed/ephy-embed-shell.c | 7 +++++-- src/bookmarks/ephy-bookmarks-editor.c | 10 +++++++--- src/ephy-encoding-menu.c | 3 ++- src/ephy-history-window.c | 15 +++++++++++---- src/ephy-shell.c | 18 +++++++++++++++--- src/prefs-dialog.c | 20 ++++++++++++++++---- 7 files changed, 69 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index c67ee3b49..baf4c436a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2006-03-02 Jean-François Rameau + + * embed/ephy-embed-shell.c:(ephy_embed_shell_dispose): + * src/ephy-encoding-menu.c: (ephy_encoding_menu_view_dialog_cb): + * src/ephy-history-window.c: (cmd_clear), (ephy_history_window_finalize): + * src/ephy-shell.c: (ephy_shell_get_pdm_dialog),(ephy_shell_get_prefs_dialog), + (ephy_shell_get_print_setup_dialog): + * src/prefs-dialog.c: (prefs_dialog_finalize), (font_prefs_button_clicked_cb), + (language_editor_add_button_clicked_cb): + * src/bookmarks/ephy-bookmarks-editor.c: (ephy_bookmarks_editor_finalize): + + Fix gcc 4.1 warnings (dereferencing type-punned pointer will break strict-aliasing rules). + 2006-03-02 Christian Persch * embed/mozilla/GtkNSSDialogs.cpp: diff --git a/embed/ephy-embed-shell.c b/embed/ephy-embed-shell.c index 6474fb2ed..1ce52db44 100644 --- a/embed/ephy-embed-shell.c +++ b/embed/ephy-embed-shell.c @@ -100,10 +100,11 @@ ephy_embed_shell_dispose (GObject *object) if (priv->downloader_view != NULL) { + DownloaderView **downloader_view = &priv->downloader_view; LOG ("Unref downloader"); g_object_remove_weak_pointer (G_OBJECT (priv->downloader_view), - (gpointer *) &priv->downloader_view); + (gpointer *) downloader_view); g_object_unref (priv->downloader_view); priv->downloader_view = NULL; } @@ -193,10 +194,12 @@ ephy_embed_shell_get_downloader_view (EphyEmbedShell *shell) if (shell->priv->downloader_view == NULL) { + DownloaderView **downloader_view; shell->priv->downloader_view = downloader_view_new (); + downloader_view = &shell->priv->downloader_view; g_object_add_weak_pointer (G_OBJECT(shell->priv->downloader_view), - (gpointer *)&shell->priv->downloader_view); + (gpointer *) downloader_view); } return G_OBJECT (shell->priv->downloader_view); diff --git a/src/bookmarks/ephy-bookmarks-editor.c b/src/bookmarks/ephy-bookmarks-editor.c index badf962b8..6f5778105 100644 --- a/src/bookmarks/ephy-bookmarks-editor.c +++ b/src/bookmarks/ephy-bookmarks-editor.c @@ -1250,9 +1250,10 @@ ephy_bookmarks_editor_finalize (GObject *object) if (editor->priv->window) { + GtkWidget **window = &editor->priv->window; g_object_remove_weak_pointer (G_OBJECT(editor->priv->window), - (gpointer *)&editor->priv->window); + (gpointer *)window); } G_OBJECT_CLASS (parent_class)->finalize (object); @@ -1939,18 +1940,21 @@ void ephy_bookmarks_editor_set_parent (EphyBookmarksEditor *ebe, GtkWidget *window) { + GtkWidget **w; if (ebe->priv->window) { + w = &ebe->priv->window; g_object_remove_weak_pointer (G_OBJECT(ebe->priv->window), - (gpointer *)&ebe->priv->window); + (gpointer *)w); } ebe->priv->window = window; + w = &ebe->priv->window; g_object_add_weak_pointer (G_OBJECT(ebe->priv->window), - (gpointer *)&ebe->priv->window); + (gpointer *)w); } diff --git a/src/ephy-encoding-menu.c b/src/ephy-encoding-menu.c index 80dd7de4a..1d566cf67 100644 --- a/src/ephy-encoding-menu.c +++ b/src/ephy-encoding-menu.c @@ -318,11 +318,12 @@ ephy_encoding_menu_view_dialog_cb (GtkAction *action, EphyEncodingMenu *menu) { if (menu->priv->dialog == NULL) { + EphyEncodingDialog **dialog = &menu->priv->dialog; menu->priv->dialog = ephy_encoding_dialog_new (menu->priv->window); g_object_add_weak_pointer(G_OBJECT (menu->priv->dialog), - (gpointer *) &menu->priv->dialog); + (gpointer *)dialog); } ephy_dialog_show (EPHY_DIALOG (menu->priv->dialog)); diff --git a/src/ephy-history-window.c b/src/ephy-history-window.c index 7b36b261f..8d9c0acec 100644 --- a/src/ephy-history-window.c +++ b/src/ephy-history-window.c @@ -283,9 +283,12 @@ cmd_clear (GtkAction *action, { if (editor->priv->confirmation_dialog == NULL) { + GtkWidget **confirmation_dialog; + editor->priv->confirmation_dialog = confirmation_dialog_construct (editor); + confirmation_dialog = &editor->priv->confirmation_dialog; g_object_add_weak_pointer (G_OBJECT (editor->priv->confirmation_dialog), - (gpointer *) &editor->priv->confirmation_dialog); + (gpointer *) confirmation_dialog); } gtk_widget_show (editor->priv->confirmation_dialog); @@ -628,9 +631,10 @@ ephy_history_window_finalize (GObject *object) if (editor->priv->window) { + GtkWidget **window = &editor->priv->window; g_object_remove_weak_pointer (G_OBJECT(editor->priv->window), - (gpointer *)&editor->priv->window); + (gpointer *)window); } G_OBJECT_CLASS (parent_class)->finalize (object); @@ -1356,18 +1360,21 @@ void ephy_history_window_set_parent (EphyHistoryWindow *ebe, GtkWidget *window) { + GtkWindow **widget; if (ebe->priv->window) { + widget = &ebe->priv->window; g_object_remove_weak_pointer (G_OBJECT(ebe->priv->window), - (gpointer *)&ebe->priv->window); + (gpointer *)widget); } ebe->priv->window = window; + widget = &ebe->priv->window; g_object_add_weak_pointer (G_OBJECT(ebe->priv->window), - (gpointer *)&ebe->priv->window); + (gpointer *)widget); } diff --git a/src/ephy-shell.c b/src/ephy-shell.c index 3938d5eb2..aa88aa11d 100644 --- a/src/ephy-shell.c +++ b/src/ephy-shell.c @@ -815,10 +815,14 @@ ephy_shell_get_pdm_dialog (EphyShell *shell) { if (shell->priv->pdm_dialog == NULL) { + GObject **dialog; + shell->priv->pdm_dialog = g_object_new (EPHY_TYPE_PDM_DIALOG, NULL); + dialog = &shell->priv->pdm_dialog; + g_object_add_weak_pointer (shell->priv->pdm_dialog, - (gpointer *) &shell->priv->pdm_dialog); + (gpointer *) dialog); } return shell->priv->pdm_dialog; @@ -829,10 +833,14 @@ ephy_shell_get_prefs_dialog (EphyShell *shell) { if (shell->priv->prefs_dialog == NULL) { + GObject **dialog; + shell->priv->prefs_dialog = g_object_new (EPHY_TYPE_PREFS_DIALOG, NULL); + dialog = &shell->priv->prefs_dialog; + g_object_add_weak_pointer (shell->priv->prefs_dialog, - (gpointer *) &shell->priv->prefs_dialog); + (gpointer *) dialog); } return shell->priv->prefs_dialog; @@ -843,10 +851,14 @@ ephy_shell_get_print_setup_dialog (EphyShell *shell) { if (shell->priv->print_setup_dialog == NULL) { + GObject **dialog; + shell->priv->print_setup_dialog = G_OBJECT (ephy_print_setup_dialog_new ()); + dialog = &shell->priv->print_setup_dialog; + g_object_add_weak_pointer (shell->priv->print_setup_dialog, - (gpointer *) &shell->priv->print_setup_dialog); + (gpointer *) dialog); } return shell->priv->print_setup_dialog; diff --git a/src/prefs-dialog.c b/src/prefs-dialog.c index ca4bb6eb5..b0b518f70 100644 --- a/src/prefs-dialog.c +++ b/src/prefs-dialog.c @@ -329,17 +329,21 @@ prefs_dialog_finalize (GObject *object) if (priv->fonts_dialog != NULL) { + EphyDialog **fonts_dialog = &priv->fonts_dialog; + g_object_remove_weak_pointer (G_OBJECT (priv->fonts_dialog), - (gpointer *) &priv->fonts_dialog); + (gpointer *) fonts_dialog); g_object_unref (priv->fonts_dialog); } if (priv->add_lang_dialog != NULL) { + EphyDialog **add_lang_dialog = &priv->add_lang_dialog; + g_object_remove_weak_pointer (G_OBJECT (priv->add_lang_dialog), - (gpointer *) &priv->add_lang_dialog); + (gpointer *) add_lang_dialog); g_object_unref (priv->add_lang_dialog); } @@ -616,11 +620,15 @@ font_prefs_button_clicked_cb (GtkWidget *button, if (priv->fonts_dialog == NULL) { + EphyDialog **fonts_dialog; + priv->fonts_dialog = setup_fonts_dialog (pd); + fonts_dialog = &priv->fonts_dialog; + g_object_add_weak_pointer (G_OBJECT (priv->fonts_dialog), - (gpointer *) &priv->fonts_dialog); + (gpointer *) fonts_dialog); } ephy_dialog_show (priv->fonts_dialog); @@ -1143,11 +1151,15 @@ language_editor_add_button_clicked_cb (GtkWidget *button, { if (pd->priv->add_lang_dialog == NULL) { + EphyDialog **add_lang_dialog; + pd->priv->add_lang_dialog = setup_add_language_dialog (pd); + add_lang_dialog = &pd->priv->add_lang_dialog; + g_object_add_weak_pointer (G_OBJECT (pd->priv->add_lang_dialog), - (gpointer *) &pd->priv->add_lang_dialog); + (gpointer *) add_lang_dialog); } ephy_dialog_show (pd->priv->add_lang_dialog); -- cgit v1.2.3