diff options
author | jstebbins <[email protected]> | 2010-02-23 16:53:48 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2010-02-23 16:53:48 +0000 |
commit | 0c9211727863e8d23f54bfba567e2e31f0c64855 (patch) | |
tree | 01c4a7e1af28cd96e00edbee95d3690e6d324fad | |
parent | 0df7722d93ee1eda7eda1d86745fea2b6df19933 (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.c | 3 | ||||
-rw-r--r-- | 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; |