diff options
Diffstat (limited to 'src/gtkext/gtkextstatusbar.c')
-rw-r--r-- | src/gtkext/gtkextstatusbar.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/gtkext/gtkextstatusbar.c b/src/gtkext/gtkextstatusbar.c index 79beda2..a177d18 100644 --- a/src/gtkext/gtkextstatusbar.c +++ b/src/gtkext/gtkextstatusbar.c @@ -174,20 +174,21 @@ void gtk_extended_status_bar_update_activity(GtkExtStatusBar *bar, guint id, gdo if (bar->msg_count == 0) return; - gdk_threads_enter(); - if (id == bar->msg_id[bar->msg_count - 1] && bar->is_progressive[bar->msg_count - 1]) { + if (value != 1.0 && value - gtk_progress_bar_get_fraction(bar->progress) < 0.01) + return; + g_snprintf(percent, 5, "%.0f%%", value * 100); + gdk_threads_enter(); + gtk_progress_bar_set_fraction(bar->progress, value); gtk_progress_bar_set_text(bar->progress, percent); - } + gdk_threads_leave(); - gdk_flush (); - - gdk_threads_leave(); + } } |