diff --git a/panels/sound/gvc-level-bar.c b/panels/sound/gvc-level-bar.c index dd14aa998..f7a93cb5a 100644 --- a/panels/sound/gvc-level-bar.c +++ b/panels/sound/gvc-level-bar.c @@ -583,6 +583,8 @@ gvc_level_bar_draw (GtkWidget *widget, bar = GVC_LEVEL_BAR (widget); + cairo_save (cr); + if (bar->priv->orientation == GTK_ORIENTATION_VERTICAL) { int i; int by; @@ -622,6 +624,11 @@ gvc_level_bar_draw (GtkWidget *widget, int i; int bx; + if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) { + cairo_scale (cr, -1, 1); + cairo_translate (cr, -gtk_widget_get_allocated_width (widget), 0); + } + for (i = 0; i < NUM_BOXES; i++) { bx = i * bar->priv->layout.delta; curved_rectangle (cr, @@ -655,6 +662,8 @@ gvc_level_bar_draw (GtkWidget *widget, } } + cairo_restore (cr); + return FALSE; }