tdf#135743 ignore size-allocations triggered by an embedded SalObject

getting configured, we already ignored them for painting, do the
same for the size-requests it output from our internal configuring

Change-Id: I4c0153535459b089ba6c31e3d9f09bfae2545806
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100824
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
Caolán McNamara
2020-08-16 21:04:45 +01:00
parent daa7d18222
commit 00c9b04028

View File

@@ -2929,13 +2929,16 @@ gboolean GtkSalFrame::signalDraw(GtkWidget*, cairo_t *cr, gpointer frame)
void GtkSalFrame::sizeAllocated(GtkWidget* pWidget, GdkRectangle *pAllocation, gpointer frame)
{
GtkSalFrame* pThis = static_cast<GtkSalFrame*>(frame);
// ignore size-allocations that occur during configuring an embedded SalObject
if (pThis->m_bSalObjectSetPosSize)
return;
pThis->maGeometry.nWidth = pAllocation->width;
pThis->maGeometry.nHeight = pAllocation->height;
bool bRealized = gtk_widget_get_realized(pWidget);
if (bRealized)
pThis->AllocateFrame();
pThis->CallCallbackExc( SalEvent::Resize, nullptr );
if (bRealized && !pThis->m_bSalObjectSetPosSize)
if (bRealized)
pThis->TriggerPaintEvent();
}