Merge lp:~tintou/midori/fix-1192479 into lp:midori

Proposed by Corentin Noël
Status: Merged
Approved by: Paweł Forysiuk
Approved revision: 6252
Merged at revision: 6257
Proposed branch: lp:~tintou/midori/fix-1192479
Merge into: lp:midori
Diff against target: 59 lines (+9/-5)
2 files modified
midori/midori-browser.c (+8/-4)
midori/midori-view.c (+1/-1)
To merge this branch: bzr merge lp:~tintou/midori/fix-1192479
Reviewer Review Type Date Requested Status
Paweł Forysiuk Approve
gue5t gue5t Approve
Review via email: mp+173758@code.launchpad.net

Commit message

Fixed crashes when closing a loading tab + granite's tab moving

Description of the change

To post a comment you must log in.
lp:~tintou/midori/fix-1192479 updated
6252. By Corentin Noël

Fixed crashes when closing a loading tab + granite's tab moving

Revision history for this message
gue5t gue5t (gue5t) wrote :

Looks good; midori-granite still does not connect signals on tabs moved between two existing notebooks (see <https://bugs.launchpad.net/granite/+bug/1066578>), but that isn't a regression.

review: Approve
Revision history for this message
Paweł Forysiuk (tuxator) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'midori/midori-browser.c'
2--- midori/midori-browser.c 2013-07-07 15:01:20 +0000
3+++ midori/midori-browser.c 2013-07-09 16:27:22 +0000
4@@ -5014,6 +5014,7 @@
5 GraniteWidgetsTab* tab,
6 MidoriBrowser* browser)
7 {
8+
9 MidoriView* view = MIDORI_VIEW (granite_widgets_tab_get_page (tab));
10 if (midori_browser_tab_connected (browser, MIDORI_VIEW (view)))
11 midori_browser_disconnect_tab (browser, MIDORI_VIEW (view));
12@@ -5027,12 +5028,15 @@
13 GraniteWidgetsTab* tab,
14 GtkWidget* new_notebook)
15 {
16- g_object_ref (tab);
17+ GraniteWidgetsTab* new_tab = granite_widgets_tab_new ("", NULL, NULL);
18+ g_object_ref (view);
19 _midori_browser_remove_tab (browser, view);
20 granite_widgets_dynamic_notebook_insert_tab (
21- GRANITE_WIDGETS_DYNAMIC_NOTEBOOK (new_notebook), tab, 0);
22+ GRANITE_WIDGETS_DYNAMIC_NOTEBOOK (new_notebook), new_tab, 0);
23+ midori_view_set_tab (MIDORI_VIEW (view), new_tab);
24+ _midori_browser_update_actions (browser);
25 midori_browser_connect_tab (midori_browser_get_for_widget (new_notebook), view);
26- g_object_unref (tab);
27+ g_object_unref (view);
28 }
29
30 static void
31@@ -5091,7 +5095,7 @@
32 MidoriBrowser* browser)
33 {
34 if (!midori_browser_tab_connected (browser, MIDORI_VIEW (child)))
35- midori_browser_connect_tab (browser, child);
36+ midori_browser_connect_tab (browser, MIDORI_VIEW (child));
37 midori_browser_notebook_page_reordered_cb (GTK_WIDGET (notebook),
38 MIDORI_VIEW (child), page_num, browser);
39 }
40
41=== modified file 'midori/midori-view.c'
42--- midori/midori-view.c 2013-07-07 15:01:20 +0000
43+++ midori/midori-view.c 2013-07-09 16:27:22 +0000
44@@ -4568,6 +4568,7 @@
45 g_return_val_if_fail (MIDORI_IS_VIEW (view), NULL);
46
47 browser = midori_browser_get_for_widget (GTK_WIDGET (view));
48+ g_return_val_if_fail (browser != NULL, NULL);
49 actions = midori_browser_get_action_group (browser);
50 pages = midori_browser_get_n_pages (browser);
51
52@@ -4629,7 +4630,6 @@
53 GraniteWidgetsTab* tab)
54 {
55 g_return_if_fail (MIDORI_IS_VIEW (view));
56- g_return_if_fail (view->tab == NULL);
57
58 view->tab = tab;
59 g_object_set (tab,

Subscribers

People subscribed via source and target branches

to all changes: