Re: CENTER_ALWAYS behaviour



On 18 Aug 2001, Havoc Pennington wrote:

> Tim Janik <timj gtk org> writes:
> > at some point though (and not always) the resizing/recentering might
> > get stuck, from then on, the label alignment is screwed and further
> > resizes only occour only to the right.
> > 

> Reproduced with Sawfish, but I can't reproduce with twm or
> Metacity. (With Metacity you have to set GDK_HINT_USER_POS before it's
> testable.) I believe this is because Sawfish is really slow to handle
> configure requests, and that triggers just the right interaction with
> GTK.

[...]

> Thus we never constrain position as long as the alternation continues.
> If you move the mouse over a different widget, getting a different
> size other than the two being alternated between, then the dialog is
> centered again.

uhm, no, that's not what i meant.
when i said "resizing gets stuck" i really meant that, the window
size stays and the label isn't correctly displayed anymore, no matter
what window you move the mouse over.
as mentioned, that's hard to trigger though, i guess debugging this has
to wait until it's more reliably reproducable.

> One simple fix is to constrain position if hints_changed = TRUE, since
> this makes things more consistent (we constrain position if we're
> going to send configure requests). I think this may unearth other
> bugs, but it's probably the right fix.

hm, this reminds me, during debugging for my last patch, i added in
quite a few printouts on move_resize state and think encountered
hints_changed = TRUE occasionally when it shouldn't have (don't
remeber the exact details anymore, sorry).
it might be a good idea to re-examine the code leading to hints_changed=TRUE
for validity, especially since we always issue another gdk_window_resize()
in that case.

> I'll check in the appended patch.
> 
> Havoc
> 

---
ciaoTJ





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