Re: hanging dialogs



try this inside the function that calls g_list_foreach()

        while (gtk_events_pending ())
          gtk_main_iteration ();

"Jeff Shipman" <shippy nmt edu>, on the subject of 'hanging dialogs', is
quoted as:
>Well, I've since fixed that problem with the bizarre
>window behavior I was having trouble with, but now
>I'm having trouble with something else. The problem
>comes along when I want to update a progress bar
>and label in the dialog from the function I'm calling
>on every member in a GList (using g_list_foreach()).
>The problem is this, when I click on the button, the
>function starts to execute, but my dialog hangs and
>doesn't get completely drawn until the g_list_foreach()
>is completely finished, and then it says 100% for
>500 milliseconds, and then closes. So, I don't really
>get to see the progress. My busy indicator comes up
>and disappears just fine, however. I've even tried adding
>a usleep(1) to usleep(10) and it does the same thing, it
>just takes longer to finish. :) I've attached some
>code below. I was thinking about maybe forking a process
>or something , but I don't have a lot of experience
>doing this so I'm not sure if it would be the best idea.
>Something like this is probably very trivial to many
>of you so if I could get a shove in the right direction,
>I'd really appreciate it. Thanks a bunch!
>
>Jeff "Shippy" Shipman     E-Mail: shippy nmt edu
>Computer Science Major    ICQ: 1786493
>New Mexico Institute of Mining and Technology
>Homepage: http://www.nmt.edu/~shippy
>




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]