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:
@@ -2929,13 +2929,16 @@ gboolean GtkSalFrame::signalDraw(GtkWidget*, cairo_t *cr, gpointer frame)
|
|||||||
void GtkSalFrame::sizeAllocated(GtkWidget* pWidget, GdkRectangle *pAllocation, gpointer frame)
|
void GtkSalFrame::sizeAllocated(GtkWidget* pWidget, GdkRectangle *pAllocation, gpointer frame)
|
||||||
{
|
{
|
||||||
GtkSalFrame* pThis = static_cast<GtkSalFrame*>(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.nWidth = pAllocation->width;
|
||||||
pThis->maGeometry.nHeight = pAllocation->height;
|
pThis->maGeometry.nHeight = pAllocation->height;
|
||||||
bool bRealized = gtk_widget_get_realized(pWidget);
|
bool bRealized = gtk_widget_get_realized(pWidget);
|
||||||
if (bRealized)
|
if (bRealized)
|
||||||
pThis->AllocateFrame();
|
pThis->AllocateFrame();
|
||||||
pThis->CallCallbackExc( SalEvent::Resize, nullptr );
|
pThis->CallCallbackExc( SalEvent::Resize, nullptr );
|
||||||
if (bRealized && !pThis->m_bSalObjectSetPosSize)
|
if (bRealized)
|
||||||
pThis->TriggerPaintEvent();
|
pThis->TriggerPaintEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user