summaryrefslogtreecommitdiff
path: root/vcl/inc/unx/gtk/gtkframe.hxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-06-14 15:49:56 +0100
committerDavid Tardon <dtardon@redhat.com>2015-06-15 13:56:11 +0000
commitbf89d2d86099d0c4032c56b75505f135e286db87 (patch)
tree58568cdf4fc03d07abfad1c94a22a08593dfefe1 /vcl/inc/unx/gtk/gtkframe.hxx
parentdc5fb55f8211645ad5d6358625938e4bc015cb68 (diff)
Resolves: tdf#91393 autotext (etc) not fully drawn
the paint timer is activating after we ask gtk to size the window but before we/gtk get the ConfigureNotify that updates gtk knowledge of the size. So the gtk drawing calls are clipped to the previous ConfigureNotify size. So, lets try postponing paints if we have set a size but not received a configure notify yet (cherry picked from commit 8f324aebfb94c4b2023894121b954ad4f35eb395) Change-Id: If5e993f8e0e65053b59234fce0785398b93c1c46 another stab at tdf#91393 block paints only if the new requested size is larger than the original and unblock on explicit expose events as well as configure ones Change-Id: I72829a5b6e55d6bbdaf934af427ee3b50fe11fd4 (cherry picked from commit 6dc1d2706f519d91617ac1a12fc2051d97ef98c0) Reviewed-on: https://gerrit.libreoffice.org/16291 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'vcl/inc/unx/gtk/gtkframe.hxx')
-rw-r--r--vcl/inc/unx/gtk/gtkframe.hxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx
index de8903e729c8..5792efa8a025 100644
--- a/vcl/inc/unx/gtk/gtkframe.hxx
+++ b/vcl/inc/unx/gtk/gtkframe.hxx
@@ -295,6 +295,15 @@ class GtkSalFrame : public SalFrame, public X11WindowProvider
return (m_nStyle & nMask) != 0;
}
+ //call gtk_window_resize if the current size differs and
+ //block Paints until Configure is received and the size
+ //is valid again
+ void window_resize(long nWidth, long nHeight);
+ //call gtk_widget_set_size_request if the current size request differs and
+ //block Paints until Configure is received and the size
+ //is valid again
+ void widget_set_size_request(long nWidth, long nHeight);
+
void resizeWindow( long nWidth, long nHeight );
void moveWindow( long nX, long nY );