Blame SOURCES/vinagre-3.22.0-fullscreen-toolbar.patch

9ef9d9
From 221dc7d785352a532264341785a779a3d3467f68 Mon Sep 17 00:00:00 2001
9ef9d9
From: Marek Kasik <mkasik@redhat.com>
9ef9d9
Date: Fri, 24 Mar 2017 14:26:57 +0100
9ef9d9
Subject: [PATCH] Fix showing of toolbar in fullscreen mode
9ef9d9
9ef9d9
Draw children of ovBox when needed. Automatic drawing
9ef9d9
of subwindows of widgets was removed in Gtk+ commit
9ef9d9
580ea227a6bb19ad6c6d4766b3a36dbad24583f3
9ef9d9
(widget: Redo drawing code).
9ef9d9
9ef9d9
https://bugzilla.gnome.org/show_bug.cgi?id=770484
9ef9d9
---
9ef9d9
 vinagre/view/ovBox.c | 31 +++++++++++++++++++++++++++++++
9ef9d9
 1 file changed, 31 insertions(+)
9ef9d9
9ef9d9
diff --git a/vinagre/view/ovBox.c b/vinagre/view/ovBox.c
9ef9d9
index 6f0ee73..3344871 100644
9ef9d9
--- a/vinagre/view/ovBox.c
9ef9d9
+++ b/vinagre/view/ovBox.c
9ef9d9
@@ -459,6 +459,32 @@ ViewOvBoxUnrealize(GtkWidget *widget) // IN
9ef9d9
 
9ef9d9
 }
9ef9d9
 
9ef9d9
+static gint
9ef9d9
+ViewOvBoxDraw(GtkWidget *widget, // IN
9ef9d9
+              cairo_t   *cr)     // IN
9ef9d9
+{
9ef9d9
+  ViewOvBox *that;
9ef9d9
+  ViewOvBoxPrivate *priv;
9ef9d9
+  int wx, wy;
9ef9d9
+
9ef9d9
+  that = VIEW_OV_BOX(widget);
9ef9d9
+  priv = that->priv;
9ef9d9
+
9ef9d9
+  gdk_window_get_position (priv->underWin, &wx, &wy;;
9ef9d9
+  cairo_save (cr);
9ef9d9
+  cairo_translate (cr, wx, wy);
9ef9d9
+  gtk_widget_draw (priv->under, cr);
9ef9d9
+  cairo_restore (cr);
9ef9d9
+
9ef9d9
+  gdk_window_get_position (priv->overWin, &wx, &wy;;
9ef9d9
+  cairo_save (cr);
9ef9d9
+  cairo_translate (cr, wx, wy);
9ef9d9
+  gtk_widget_draw (priv->over, cr);
9ef9d9
+  cairo_restore (cr);
9ef9d9
+
9ef9d9
+  return FALSE;
9ef9d9
+}
9ef9d9
+
9ef9d9
 
9ef9d9
 /*
9ef9d9
  *-----------------------------------------------------------------------------
9ef9d9
@@ -714,6 +740,11 @@ ViewOvBoxClassInit(ViewOvBoxClass *klass) // IN
9ef9d9
    widgetClass->size_allocate = ViewOvBoxSizeAllocate;
9ef9d9
    widgetClass->style_set = ViewOvBoxStyleSet;
9ef9d9
 
9ef9d9
+   if ((gtk_major_version > (3)) ||
9ef9d9
+       (gtk_major_version == (3) && gtk_minor_version > (19)) ||
9ef9d9
+       (gtk_major_version == (3) && gtk_minor_version == (19) && gtk_micro_version >= (7)))
9ef9d9
+     widgetClass->draw = ViewOvBoxDraw;
9ef9d9
+
9ef9d9
    klass->set_over = ViewOvBoxSetOver;
9ef9d9
 
9ef9d9
    parentClass = g_type_class_peek_parent(klass);
9ef9d9
-- 
9ef9d9
2.12.1
9ef9d9