Re: Scrolling to a GtkListBoxRow after adding it to a GtkListBox



On Sun, Apr 15, 2018 at 1:05 PM, "Matthew A. Postiff" <postiffm comcast net> wrote:
Is the issue that the widget is not yet drawn, so it size/location coords are not settled yet?


I originally thought so, but when it occurred it looked like it was actually be correctly getting scrolled to but then scrolled away again straight away.

Turns out the problem was actually GtkScrolledWindow's kinetic scrolling. I finally noticed that it only happened if a scroll gesture still had some momentum ­— the newly inserted row would be correctly scrolled to, but jump away immediately as the gesture kicked back in.

To work around the issue, I had to disable kinetic scrolling on the scrolled window, set the adjustment's value, then re-enable kinetic scrolling again.

GTK+ bug filed for this: https://gitlab.gnome.org/GNOME/gtk/issues/187


Total guesses: What about using g_signal_connect_after on size-allocate? Or connecting to map-event signal on that widget? Or spinning on gtk_events_pending() until all are done, then scroll down?

Good suggestions, but size-allocate does indeed seem to be the right signal.

Thanks for your help!

//Mike

--
⊨ Michael Gratton, Percept Wrangler.
⚙ <http://mjog.vee.net/>



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