summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2010-02-23 16:53:48 +0000
committerjstebbins <[email protected]>2010-02-23 16:53:48 +0000
commit0c9211727863e8d23f54bfba567e2e31f0c64855 (patch)
tree01c4a7e1af28cd96e00edbee95d3690e6d324fad
parent0df7722d93ee1eda7eda1d86745fea2b6df19933 (diff)
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
-rw-r--r--gtk/src/ghbcompositor.c3
-rw-r--r--gtk/src/preview.c6
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;