On Thu, 2008-09-25 at 09:49 +0200, Mathias Tausig wrote: > Am 24. Sep 2008 um 16:50:02 -0300, schrieb Pedro Guridi: > > I'm not sure if we are talking about the same thing. > > But what I'm saying, it's for the case when you have a long operation, or > > some long while/for, and because of that the gtk main loop will > > not be able to update the gui, or receive any event until the loop ends. > > To solve that you can add this inside the blocking loop (assuming that > > runs in the main thread than Gtk, that's the point after all) : > > while (Gtk.Application.EventsPending ()) > > Gtk.Application.RunIteration (); > Look at my code snippet in my inititial mail. That's exaclty what I am doing > in my DisplayPanel class, whenever I change the text. That's why I consider > this behaviour to be so weird > > Question.., I guess you are using these: "Thread.Sleep(3000)" for giving > > the gtk main thread a time to update the gui, I'm right?. > > if this is the case, try putting the code above instead of the > > "Thread.Sleep(3000);". > The Thread.Sleep only exists in this short example function. In reality, a > longish and blocking function (a pinpad verification of a smartcard) is > executed.
I haven't looked at the code in question, but rather than messing with the loop wouldn't it be easier to put the pinpad verification into a background thread and notify the main thread when success/failure occurs? _______________________________________________ Gtk-sharp-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
