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
1=== modified file 'midori/midori-privatedata.c'
2--- midori/midori-privatedata.c 2014-03-21 06:26:51 +0000
3+++ midori/midori-privatedata.c 2014-07-11 01:37:06 +0000
4@@ -22,26 +22,14 @@
5 #include <gdk/gdkkeysyms.h>
6 #include <sqlite3.h>
7
8-#ifdef HAVE_GRANITE
9-#include <granite/granite.h>
10-#endif
11-
12 #define LIBSOUP_USE_UNSTABLE_REQUEST_API
13 #include <libsoup/soup-cache.h>
14
15 static void
16-#ifdef HAVE_GRANITE
17-midori_private_data_dialog_response_cb (GtkWidget* button,
18-#else
19 midori_private_data_dialog_response_cb (GtkWidget* dialog,
20 gint response_id,
21-#endif
22 MidoriBrowser* browser)
23 {
24- #ifdef HAVE_GRANITE
25- GtkWidget* dialog = gtk_widget_get_toplevel (button);
26- gint response_id = GTK_RESPONSE_ACCEPT;
27- #endif
28 if (response_id == GTK_RESPONSE_ACCEPT)
29 {
30 GtkToggleButton* button;
31@@ -126,18 +114,6 @@
32 gint clear_prefs = MIDORI_CLEAR_NONE;
33 g_object_get (settings, "clear-private-data", &clear_prefs, NULL);
34
35- #ifdef HAVE_GRANITE
36- /* FIXME: granite: should return GtkWidget* like GTK+ */
37- dialog = (GtkWidget*)granite_widgets_light_window_new (_("Clear Private Data"));
38- /* FIXME: granite: should return GtkWidget* like GTK+ */
39- content_area = (GtkWidget*)granite_widgets_decorated_window_get_box (GRANITE_WIDGETS_DECORATED_WINDOW (dialog));
40- hbox = gtk_hbox_new (FALSE, 4);
41- gtk_box_pack_end (GTK_BOX (content_area), hbox, FALSE, FALSE, 4);
42- button = gtk_button_new_with_mnemonic (_("_Clear private data"));
43- gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 4);
44- g_signal_connect (button, "clicked",
45- G_CALLBACK (midori_private_data_dialog_response_cb), browser);
46- #else
47 /* i18n: Dialog: Clear Private Data, in the Tools menu */
48 dialog = gtk_dialog_new_with_buttons (_("Clear Private Data"),
49 GTK_WINDOW (browser),
50@@ -150,17 +126,13 @@
51 g_signal_connect (dialog, "response",
52 G_CALLBACK (midori_private_data_dialog_response_cb), browser);
53 gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);
54- #endif
55- /* Elementary */
56- katze_widget_add_class (button, "noundo");
57- /* GNOME Shell */
58 katze_widget_add_class (button, "destructive-action");
59 screen = gtk_widget_get_screen (GTK_WIDGET (browser));
60 if (screen)
61 gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_CLEAR);
62 sizegroup = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
63 hbox = gtk_hbox_new (FALSE, 4);
64- icon = gtk_image_new_from_stock (GTK_STOCK_CLEAR, GTK_ICON_SIZE_DIALOG);
65+ icon = gtk_image_new_from_icon_name ("edit-clear", GTK_ICON_SIZE_DIALOG);
66 gtk_size_group_add_widget (sizegroup, icon);
67 gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
68 label = gtk_label_new (_("Clear the following data:"));
69@@ -410,5 +382,4 @@
70 item->clear = clear;
71 items = g_list_append (items, item);
72 return NULL;
73-}
74-
75+}
76\ No newline at end of file

Subscribers

People subscribed via source and target branches