[prev in list] [next in list] [prev in thread] [next in thread]
List: gtk
Subject: Re: status/progress bars (revisited)
From: Helmethead <hoshem () mel ! comcen ! com ! au>
Date: 2001-05-16 3:34:08
[Download RAW message or body]
On Tue, May 15, 2001 at 07:53:54PM -0700, Matt Hillebrand wrote:
> I have been posting this question every few weeks for the past year, and I
> have never received a response:
>
> How do I force a status bar (or progress bar) to update when the computer
> is really busy? I can tell the status bar to change right before I tell
> the CPU to begin a real work-out, and no matter what I try, the thing
> won't update until the latter CPU-intensive function is done. This
> is rather annoying because I am trying to tell the user that the computer
> is busy. This is really annoying, especially when I try to make the
> progress bar move in activity mode, and it won't budge because the CPU is
> busy. I can tell it start moving without stopping it, and it won't start
> moving until the CPU-intensive function call is done!
>
> Please enlighten me!
>
> Thanks,
>
> Matthew P. Hillebrand
I am extremely certain there is a FAQ question (and answer) on this..
The gist of it is, a (single threaded) program can only do one thing at once, so \
while you're computing your ass off in that function gtk can't be looking after the \
gui.
The first solution is, modify your function to offer gtk a share of the cpu at \
strategic points (frequently). This is done with code like this:
while (gtk_events_pending ())
gtk_main_iteration ();
The other solution is to make your app multithreaded with gtk running in one thread, \
and your function in the other.
_______________________________________________
gtk-list mailing list
gtk-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic