#!/bin/sh # # Copyright (C) 2020 Ruben Rodriguez # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # VERSION=1 COMPONENT=main . ./config cat << EOF | patch -p1 From 221dc7d785352a532264341785a779a3d3467f68 Mon Sep 17 00:00:00 2001 From: Marek Kasik Date: Fri, 24 Mar 2017 14:26:57 +0100 Subject: [PATCH] Fix showing of toolbar in fullscreen mode Draw children of ovBox when needed. Automatic drawing of subwindows of widgets was removed in Gtk+ commit 580ea227a6bb19ad6c6d4766b3a36dbad24583f3 (widget: Redo drawing code). https://bugzilla.gnome.org/show_bug.cgi?id=770484 --- vinagre/view/ovBox.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/vinagre/view/ovBox.c b/vinagre/view/ovBox.c index 6f0ee73..3344871 100644 --- a/vinagre/view/ovBox.c +++ b/vinagre/view/ovBox.c @@ -459,6 +459,32 @@ ViewOvBoxUnrealize(GtkWidget *widget) // IN } +static gint +ViewOvBoxDraw(GtkWidget *widget, // IN + cairo_t *cr) // IN +{ + ViewOvBox *that; + ViewOvBoxPrivate *priv; + int wx, wy; + + that = VIEW_OV_BOX(widget); + priv = that->priv; + + gdk_window_get_position (priv->underWin, &wx, &wy); + cairo_save (cr); + cairo_translate (cr, wx, wy); + gtk_widget_draw (priv->under, cr); + cairo_restore (cr); + + gdk_window_get_position (priv->overWin, &wx, &wy); + cairo_save (cr); + cairo_translate (cr, wx, wy); + gtk_widget_draw (priv->over, cr); + cairo_restore (cr); + + return FALSE; +} + /* *----------------------------------------------------------------------------- @@ -714,6 +740,11 @@ ViewOvBoxClassInit(ViewOvBoxClass *klass) // IN widgetClass->size_allocate = ViewOvBoxSizeAllocate; widgetClass->style_set = ViewOvBoxStyleSet; + if ((gtk_major_version > (3)) || + (gtk_major_version == (3) && gtk_minor_version > (19)) || + (gtk_major_version == (3) && gtk_minor_version == (19) && gtk_micro_version >= (7))) + widgetClass->draw = ViewOvBoxDraw; + klass->set_over = ViewOvBoxSetOver; parentClass = g_type_class_peek_parent(klass); -- 2.12.1 EOF changelog "Fixed fullscreen exit bar" compile