diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2010-04-11 16:39:38 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2010-04-11 16:39:38 (GMT) |
commit | 30258fa96ad48eed68924f259ec5464fc4fd8094 (patch) | |
tree | 6187f2ddbee31de8bcd1b4b6e930a38f858f922c /src/gtkext/gtkextstatusbar.c | |
parent | 929150f18d23d82e8390bd98e31b1edb34bc09f1 (diff) |
Provided a faster than GTK display buffer.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@150 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
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(); + } } |