Merge lp:~elementary-apps/midori/remove-lightwindow into lp:midori

Proposed by Danielle Foré
Status: Merged
Approved by: Cody Garver
Approved revision: 6744
Merged at revision: 6743
Proposed branch: lp:~elementary-apps/midori/remove-lightwindow
Merge into: lp:midori
Diff against target: 76 lines (+2/-31)
1 file modified
midori/midori-privatedata.c (+2/-31)
To merge this branch: bzr merge lp:~elementary-apps/midori/remove-lightwindow
Reviewer Review Type Date Requested Status
Robert Roth (community) Approve
Danielle Foré (community) Approve
Review via email: mp+226393@code.launchpad.net

Commit message

Drop deprecated Granite LightWindow used for the Clear Private Data dialog

Description of the change

Removes Granite Lightwindow from the clear private data dialog.

To post a comment you must log in.
Revision history for this message
Robert Roth (evfool) wrote :
Download full text (6.6 KiB)

When clicking Cancel on the dialog (cancel didn't exist on the lightwindow, just closing it didn't crash midori) midori crashes. Here's the stacktrace:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7b34795 in midori_browser_get_settings (browser=0xfffffffa)
    at /home/evfool/Projects/elementary/remove-lightwindow/midori/midori-browser.c:3008
3008 g_return_val_if_fail (MIDORI_IS_BROWSER (browser), NULL);
(gdb) backtrace
#0 0x00007ffff7b34795 in midori_browser_get_settings (browser=0xfffffffa)
    at /home/evfool/Projects/elementary/remove-lightwindow/midori/midori-browser.c:3008
#1 0x00007ffff7b48105 in midori_private_data_dialog_response_cb (
    button=0xde63a0, browser=0xfffffffa)
    at /home/evfool/Projects/elementary/remove-lightwindow/midori/midori-privatedata.c:52
#2 0x00007ffff78833b8 in g_closure_invoke (closure=0xde3180,
    return_value=0x0, n_param_values=2, param_values=0x7fffffffc9d0,
    invocation_hint=0x7fffffffc970)
    at /build/buildd/glib2.0-2.40.0/./gobject/gclosure.c:768
#3 0x00007ffff7894d3d in signal_emit_unlocked_R (node=node@entry=0x7704b0,
    detail=detail@entry=0, instance=instance@entry=0xde63a0,
    emission_return=emission_return@entry=0x0,
    instance_and_params=instance_and_params@entry=0x7fffffffc9d0)
    at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c:3551
#4 0x00007ffff789ca29 in g_signal_emit_valist (instance=<optimized out>,
    signal_id=<optimized out>, detail=<optimized out>,
    var_args=var_args@entry=0x7fffffffcb68)
    at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c:3307
#5 0x00007ffff789cce2 in g_signal_emit (instance=<optimized out>,
    signal_id=<optimized out>, detail=<optimized out>)
    at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c:3363
---Type <return> to continue, or q <return> to quit---
#6 0x00007ffff78835e7 in _g_closure_invoke_va (closure=0xd16630,
    return_value=0x0, instance=0xd447a0, args=0x7fffffffce18, n_params=0,
    param_types=0x0) at /build/buildd/glib2.0-2.40.0/./gobject/gclosure.c:831
#7 0x00007ffff789c088 in g_signal_emit_valist (instance=0xd447a0,
    signal_id=<optimized out>, detail=0,
    var_args=var_args@entry=0x7fffffffce18)
    at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c:3215
#8 0x00007ffff789cce2 in g_signal_emit (instance=<optimized out>,
    signal_id=<optimized out>, detail=<optimized out>)
    at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c:3363
#9 0x00007ffff6cef8fd in gtk_button_do_release (button=0xd447a0,
    emit_clicked=<optimized out>)
    at /build/buildd/gtk+3.0-3.12.2/./gtk/gtkbutton.c:1985
#10 0x00007ffff6cef943 in gtk_real_button_released (button=0xd447a0)
    at /build/buildd/gtk+3.0-3.12.2/./gtk/gtkbutton.c:2103
#11 0x00007ffff78833b8 in g_closure_invoke (closure=0x64ef10,
    return_value=0x0, n_param_values=1, param_values=0x7fffffffd0d0,
    invocation_hint=0x7fffffffd070)
    at /build/buildd/glib2.0-2.40.0/./gobject/gclosure.c:768
#12 0x00007ffff7894557 in signal_emit_unlocked_R (node=node@entry=0x64ef40,
    detail=detail@entry=0, instance=instance@entry=0xd447a0,
    emission_return=emission_return@entry=0x0,
    instance_and_params=instance_and_params@entry...

Read more...

review: Needs Fixing
Revision history for this message
Danielle Foré (danrabbit) wrote :

There were a couple of other ifdefs I missed. Shouldn't crash now

6744. By Danielle Foré

revert cmake accidental changes

Revision history for this message
Danielle Foré (danrabbit) :
review: Approve
Revision history for this message
Robert Roth (evfool) wrote :

Ok, thanks for the fix.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'midori/midori-privatedata.c'
--- midori/midori-privatedata.c 2014-03-21 06:26:51 +0000
+++ midori/midori-privatedata.c 2014-07-11 01:37:06 +0000
@@ -22,26 +22,14 @@
22#include <gdk/gdkkeysyms.h>22#include <gdk/gdkkeysyms.h>
23#include <sqlite3.h>23#include <sqlite3.h>
2424
25#ifdef HAVE_GRANITE
26#include <granite/granite.h>
27#endif
28
29 #define LIBSOUP_USE_UNSTABLE_REQUEST_API25 #define LIBSOUP_USE_UNSTABLE_REQUEST_API
30 #include <libsoup/soup-cache.h>26 #include <libsoup/soup-cache.h>
3127
32static void28static void
33#ifdef HAVE_GRANITE
34midori_private_data_dialog_response_cb (GtkWidget* button,
35#else
36midori_private_data_dialog_response_cb (GtkWidget* dialog,29midori_private_data_dialog_response_cb (GtkWidget* dialog,
37 gint response_id,30 gint response_id,
38#endif
39 MidoriBrowser* browser)31 MidoriBrowser* browser)
40{32{
41 #ifdef HAVE_GRANITE
42 GtkWidget* dialog = gtk_widget_get_toplevel (button);
43 gint response_id = GTK_RESPONSE_ACCEPT;
44 #endif
45 if (response_id == GTK_RESPONSE_ACCEPT)33 if (response_id == GTK_RESPONSE_ACCEPT)
46 {34 {
47 GtkToggleButton* button;35 GtkToggleButton* button;
@@ -126,18 +114,6 @@
126 gint clear_prefs = MIDORI_CLEAR_NONE;114 gint clear_prefs = MIDORI_CLEAR_NONE;
127 g_object_get (settings, "clear-private-data", &clear_prefs, NULL);115 g_object_get (settings, "clear-private-data", &clear_prefs, NULL);
128116
129 #ifdef HAVE_GRANITE
130 /* FIXME: granite: should return GtkWidget* like GTK+ */
131 dialog = (GtkWidget*)granite_widgets_light_window_new (_("Clear Private Data"));
132 /* FIXME: granite: should return GtkWidget* like GTK+ */
133 content_area = (GtkWidget*)granite_widgets_decorated_window_get_box (GRANITE_WIDGETS_DECORATED_WINDOW (dialog));
134 hbox = gtk_hbox_new (FALSE, 4);
135 gtk_box_pack_end (GTK_BOX (content_area), hbox, FALSE, FALSE, 4);
136 button = gtk_button_new_with_mnemonic (_("_Clear private data"));
137 gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 4);
138 g_signal_connect (button, "clicked",
139 G_CALLBACK (midori_private_data_dialog_response_cb), browser);
140 #else
141 /* i18n: Dialog: Clear Private Data, in the Tools menu */117 /* i18n: Dialog: Clear Private Data, in the Tools menu */
142 dialog = gtk_dialog_new_with_buttons (_("Clear Private Data"),118 dialog = gtk_dialog_new_with_buttons (_("Clear Private Data"),
143 GTK_WINDOW (browser),119 GTK_WINDOW (browser),
@@ -150,17 +126,13 @@
150 g_signal_connect (dialog, "response",126 g_signal_connect (dialog, "response",
151 G_CALLBACK (midori_private_data_dialog_response_cb), browser);127 G_CALLBACK (midori_private_data_dialog_response_cb), browser);
152 gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);128 gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);
153 #endif
154 /* Elementary */
155 katze_widget_add_class (button, "noundo");
156 /* GNOME Shell */
157 katze_widget_add_class (button, "destructive-action");129 katze_widget_add_class (button, "destructive-action");
158 screen = gtk_widget_get_screen (GTK_WIDGET (browser));130 screen = gtk_widget_get_screen (GTK_WIDGET (browser));
159 if (screen)131 if (screen)
160 gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_CLEAR);132 gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_CLEAR);
161 sizegroup = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);133 sizegroup = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
162 hbox = gtk_hbox_new (FALSE, 4);134 hbox = gtk_hbox_new (FALSE, 4);
163 icon = gtk_image_new_from_stock (GTK_STOCK_CLEAR, GTK_ICON_SIZE_DIALOG);135 icon = gtk_image_new_from_icon_name ("edit-clear", GTK_ICON_SIZE_DIALOG);
164 gtk_size_group_add_widget (sizegroup, icon);136 gtk_size_group_add_widget (sizegroup, icon);
165 gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);137 gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
166 label = gtk_label_new (_("Clear the following data:"));138 label = gtk_label_new (_("Clear the following data:"));
@@ -410,5 +382,4 @@
410 item->clear = clear;382 item->clear = clear;
411 items = g_list_append (items, item);383 items = g_list_append (items, item);
412 return NULL;384 return NULL;
413}385}
414
415\ No newline at end of file386\ No newline at end of file

Subscribers

People subscribed via source and target branches