Fix for https://bugs.launchpad.net/midori/+bug/1492932
Patch status: upstream

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>

--- a/midori/midori-browser.c	2015-07-11 16:03:43 +0000
+++ b/midori/midori-browser.c	2015-09-25 21:30:31 +0000
@@ -5953,11 +5953,6 @@
                       G_CALLBACK (midori_browser_destroy_cb), NULL);
     gtk_window_set_role (GTK_WINDOW (browser), "browser");
     gtk_window_set_icon_name (GTK_WINDOW (browser), MIDORI_STOCK_WEB_BROWSER);
-    #if GTK_CHECK_VERSION (3, 4, 0)
-    #ifndef HAVE_GRANITE
-    gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (browser), TRUE);
-    #endif
-    #endif
     vbox = gtk_vbox_new (FALSE, 0);
     /* gtk_container_add (GTK_CONTAINER (browser), vbox);
     gtk_widget_show (vbox); */

--- a/midori/midori-view.c	2015-07-06 21:26:46 +0000
+++ b/midori/midori-view.c	2015-09-25 21:30:31 +0000
@@ -3495,9 +3495,6 @@
     }
     else
         gtk_window_set_icon_name (GTK_WINDOW (window), icon_name);
-    #if GTK_CHECK_VERSION (3, 4, 0)
-    gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (window), TRUE);
-    #endif
     gtk_widget_set_size_request (GTK_WIDGET (inspector_view), 700, 100);
     #if GTK_CHECK_VERSION (3, 0, 0)
     scrolled = gtk_scrolled_window_new (NULL, NULL);

--- a/midori/midori-window.vala	2015-08-16 00:14:26 +0000
+++ b/midori/midori-window.vala	2015-09-25 21:30:31 +0000
@@ -28,7 +28,6 @@
                 toolbar.show_arrow = true;
 #if HAVE_GTK3
                 toolbar.get_style_context ().add_class ("primary-toolbar");
-                hide_titlebar_when_maximized = true;
 #endif
                 toolbar.popup_context_menu.connect ((x, y, button) => {
                     return button == 3 && context_menu (toolbar); });

