Code to check if we were to close to an edge (for window resizing) blocked all divider setting,
because it would be called with a current widget allocation of 1x1
void
Pane::on_size_allocate (Gtk::Allocation& alloc)
{
+ std::cerr << "pane @ " << this << " reallocated as " << alloc.get_width() << " x " << alloc.get_height() << std::endl;
reallocate (alloc);
Container::on_size_allocate (alloc);
}
return true;
}
+
+ if (get_allocation().get_width() == 1 && get_allocation().get_height() == 1) {
+ /* space not * allocated - * divider being set from startup code. Let it pass,
+ since our goal is mostly to catch drags to a position that will interfere with window
+ resizing.
+ */
+ return true;
+ }
+
/* On Quartz, if the pane handle (divider) gets to
be adjacent to the window edge, you can no longer grab it:
any attempt to do so is interpreted by the Quartz window