Re: Forcing window updates



On Tue, 2003-04-01 at 07:03, Owen Taylor wrote:
> On Mon, 2003-03-31 at 16:30, Egon Andersen wrote:
> > Hi,
> > 
> > I've got a problem in an application, that some of my widgets in a
> > notebook-page are not shown before I click on a button in the same
> > notebook-page.
> > It looks to me as if the gtk-engine somehow has 'forgotten' to show the
> > widgets until 'something' happens in the window/notebook-page.
> > 
> > I've tried to use gdk_window_process_all_updates() and hoped that it
> > could somehow force redraw of the window/notebook-page, but without any
> > luck.
> 
> You have somehow broken GTK+.... updates in GTK+ are supposed to 
> just work, so there is no function to call "make updates work".
> 
> If you can create a small standalone test, it would be worth filing a
> bug.


It is a quite hairy combination of notebooks, tables and containers, so
it will probably take a looong time to cut it down and still have the
problem. Unfortunately this will not go to my highest priority list. 

> 
> > These widgets are created during a phase where I have frozen the display
> > using gtk_widget_freeze_child_notify() and later it is thawed by
> > gtk_widget_thaw_child_notify(), so I would expect that widgets are drawn
> > after the thaw??
> 
> I don't think those functions do what you think they do... unless you
> are implementing a container widget, there should be no reason to
> call them (though I wouldn't expect them to have much effect one way
> or the other.. notification of child properties is basically there for
> GUI builders.) Removing these calls would be the first step to take.
> 
Well, removing these calls didn't solve the problem at all.
Actually, these freeze/thaw are making the update both faster and
smoother. The intension is to prevent a lot of table-resizing during the
population of the tables with widgets of different sizes.
If there are better ways/more correct ways to do this, I'll be pleased
to hear about this.
So in my application freeze/thaw do have effect, but does not seem to
have any relation to the problem in question.
Actually the button I mentioned that I clicked to (as an unintended
bi-effect) make the contents visible, do also freeze/thaw.

Best regards
Egon Andersen



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