From 0c9211727863e8d23f54bfba567e2e31f0c64855 Mon Sep 17 00:00:00 2001 From: jstebbins Date: Tue, 23 Feb 2010 16:53:48 +0000 Subject: [PATCH] LinGui: fix hud expose event rendering another "change" in gtk causes "hidden" widgets to be rendered with reduced opacity instead of zero opacity. So check the visibility of the widgets manually and skip the hidden ones. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3136 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- gtk/src/ghbcompositor.c | 3 +++ gtk/src/preview.c | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/gtk/src/ghbcompositor.c b/gtk/src/ghbcompositor.c index 81628b6bf..486ed420c 100644 --- a/gtk/src/ghbcompositor.c +++ b/gtk/src/ghbcompositor.c @@ -617,6 +617,9 @@ ghb_compositor_blend (GtkWidget *widget, GdkEventExpose *event) { /* get our child */ child = GTK_WIDGET(draw->data); + if (!GTK_WIDGET_VISIBLE(child)) + continue; + /* the source data is the (composited) event box */ gdk_cairo_set_source_pixmap (cr, child->window, child->allocation.x, diff --git a/gtk/src/preview.c b/gtk/src/preview.c index 07ae765df..7986c6472 100644 --- a/gtk/src/preview.c +++ b/gtk/src/preview.c @@ -1043,7 +1043,7 @@ hud_timeout(signal_user_data_t *ud) g_debug("hud_timeout()"); widget = GHB_WIDGET(ud->builder, "preview_hud"); - gtk_widget_hide(widget); + gtk_widget_hide_all(widget); hud_timeout_id = 0; return FALSE; } @@ -1066,7 +1066,7 @@ hud_enter_cb( g_source_destroy(source); } widget = GHB_WIDGET(ud->builder, "preview_hud"); - gtk_widget_show(widget); + gtk_widget_show_all(widget); hud_timeout_id = 0; return FALSE; } @@ -1112,7 +1112,7 @@ preview_motion_cb( widget = GHB_WIDGET(ud->builder, "preview_hud"); if (!GTK_WIDGET_VISIBLE(widget)) { - gtk_widget_show(widget); + gtk_widget_show_all(widget); } hud_timeout_id = g_timeout_add_seconds(4, (GSourceFunc)hud_timeout, ud); return FALSE; -- 2.40.0