-
- // This is somewhat of a hack, unfortunately. We cannot use
- // set_v_offset() from within restore_settings() as the view
- // at that point is neither visible nor properly sized.
- // This is the least intrusive workaround I could come up
- // with: set the vertical offset (or scroll defaults) when
- // the view is visible and resized to its final size.
- // Resize events that are sent when the view is not visible
- // must be ignored as they have wrong sizes, potentially
- // preventing the v offset from being set successfully.
-
- if (isVisible())
- size_finalized_ = true;
-
- if (size_finalized_ && saved_v_offset_) {
- set_v_offset(saved_v_offset_);
- saved_v_offset_ = 0;
- }
-
- if (size_finalized_ && scroll_needs_defaults_)
- set_scroll_default();