Redraw on Resize

This is a minor point, but I noticed that when I resize a window on GTK+ / OSX the redraw of child widgets does not occur until the resize is completed (mouse up?), there appears to be no redraw of child widgets during the sizing, so it looks a bit cludgy until you let go of the handle and everything redraws.

GTK+ has never been stellar at this, but it does seem to attempt a few resizes on Ubuntu during the resizing, so you get a smoother experience.

Is this a known issue with the current GTK+ on OSX?

Just curious.

Thanks,
Sean

Yes, that's a known issue. I

Yes, that's a known issue. I just cooked up a patch that you might want to try:

http://people.imendio.com/richard/patches/live-resize.patch

Hi Richard, Many thanks...

Hi Richard,

Many thanks... this has to be one of the most responsive and friendly OSS projects I have ever worked with. You are very kind.

Implemented the patch, works very well for the redraw issue, thank you...

Little issue, if you drag for too long you get a segmentation fault :) It is ok for short quick resizes, but if I resize the window for more then about 10 seconds it faults.

This is the message I get when it faults:

(bookshelf:89650): Gdk-WARNING **: losing last reference to undestroyed window

Hope that helps.

Thanks :) I noticed some

Thanks :)

I noticed some other small issues with the patch myself (when resizing some more complex UIs, it gets confused) so I will try to improve it a bit next.

I haven't been able to

I haven't been able to reproduce your issue, could you try running in gdb with --g-fatal-warnings and paste the stack trace here? (let me know if you need more info for doing that)

I rolled back on the patch,

I rolled back on the patch, I will re-apply it and do as you suggest. Might take me a few days to get to it... thanks though.

I could reproduce the crash

I could reproduce the crash now, and uploaded a fixed version here:

http://people.imendio.com/richard/patches/live-resize-2.patch

It still has some issues though, it doesn't always redraw properly until you release the button.