summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-09-22 17:19:21 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-09-22 17:23:51 +0100
commit99ee7deaf0a7a61bc74e8cb2d8a654fb675f50bb (patch)
tree756e22f8347183fb160041402c24f171df009f14
parenta3504b128c752c8fccd55bfc7e2db24f1db53337 (diff)
Resolves: tdf#102347 configure size/expose might never come...
if you request a size you might not get it. This attempt dating through... commit 6dc1d2706f519d91617ac1a12fc2051d97ef98c0 Author: Caolán McNamara <caolanm@redhat.com> Date: Mon Jun 15 10:56:33 2015 +0100 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 ... commit 8f324aebfb94c4b2023894121b954ad4f35eb395 Author: Caolán McNamara <caolanm@redhat.com> Date: Sun Jun 14 15:49:56 2015 +0100 Resolves: tdf#91393 autotext (etc) not fully drawn ... commit e6a1956034c98204e30b0ca40330249d6f6f8155 Author: Jan Holesovsky <kendy@collabora.com> Date: Fri Jun 12 15:36:03 2015 +0200 tdf#91301: Don't cache incomplete tabs. After introduction of the Idle processing, something has changed so that the underlying GetGdkWindow() does not update its size fast enough; even though the gtk_window_resize() is called before the Window::Erase() (that actually paints the background) etc. is all junk. I don't see the original problem of tdf#91393 or tdf#91301 anymore under gtk2 after reverting this yet anyway to see if they need another fix. Change-Id: Ide071eba279de726a9c6a80884bc9021c8914d9d
-rw-r--r--vcl/inc/salframe.hxx4
-rw-r--r--vcl/source/app/salvtables.cxx3
-rw-r--r--vcl/source/window/paint.cxx3
-rw-r--r--vcl/unx/gtk/gtksalframe.cxx14
4 files changed, 2 insertions, 22 deletions
diff --git a/vcl/inc/salframe.hxx b/vcl/inc/salframe.hxx
index 16b2b52143b2..a9654b817dd7 100644
--- a/vcl/inc/salframe.hxx
+++ b/vcl/inc/salframe.hxx
@@ -104,8 +104,6 @@ class VCL_PLUGIN_PUBLIC SalFrame
: public vcl::DeletionNotifier
, public SalGeometryProvider
{
-protected:
- bool m_bPaintsBlocked;
private:
// the VCL window corresponding to this frame
VclPtr<vcl::Window> m_pWindow;
@@ -280,8 +278,6 @@ public:
// (e.g. input methods, printer update handlers).
long CallCallback( SalEvent nEvent, const void* pEvent ) const
{ return m_pProc ? long(m_pProc( m_pWindow, nEvent, pEvent )) : 0; }
-
- bool PaintsBlocked() const { return m_bPaintsBlocked; }
};
#endif // INCLUDED_VCL_INC_SALFRAME_HXX
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 3748eb2f5ce8..12cee864feda 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -30,8 +30,7 @@
SalFrame::SalFrame()
- : m_bPaintsBlocked(false)
- , m_pWindow(nullptr)
+ : m_pWindow(nullptr)
, m_pProc(nullptr)
{
}
diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index cc66017d5c4d..2c2c943c547d 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -655,8 +655,7 @@ IMPL_LINK_NOARG_TYPED(Window, ImplHandlePaintHdl, Idle *, void)
// save paint events until resizing or initial sizing done
if (mpWindowImpl->mbFrame &&
- (mpWindowImpl->mpFrameData->maResizeIdle.IsActive() ||
- mpWindowImpl->mpFrame->PaintsBlocked()))
+ mpWindowImpl->mpFrameData->maResizeIdle.IsActive())
{
mpWindowImpl->mpFrameData->maPaintIdle.Start();
}
diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx
index 9167a3f8c694..529128ec68d6 100644
--- a/vcl/unx/gtk/gtksalframe.cxx
+++ b/vcl/unx/gtk/gtksalframe.cxx
@@ -861,23 +861,11 @@ void GtkSalFrame::moveWindow( long nX, long nY )
void GtkSalFrame::widget_set_size_request(long nWidth, long nHeight)
{
- gint nOrigwidth, nOrigheight;
- gtk_window_get_size(GTK_WINDOW(m_pWindow), &nOrigwidth, &nOrigheight);
- if (nWidth > nOrigwidth || nHeight > nOrigheight)
- {
- m_bPaintsBlocked = true;
- }
gtk_widget_set_size_request(m_pWindow, nWidth, nHeight );
}
void GtkSalFrame::window_resize(long nWidth, long nHeight)
{
- gint nOrigwidth, nOrigheight;
- gtk_window_get_size(GTK_WINDOW(m_pWindow), &nOrigwidth, &nOrigheight);
- if (nWidth > nOrigwidth || nHeight > nOrigheight)
- {
- m_bPaintsBlocked = true;
- }
gtk_window_resize(GTK_WINDOW(m_pWindow), nWidth, nHeight);
}
@@ -2894,7 +2882,6 @@ gboolean GtkSalFrame::signalCrossing( GtkWidget*, GdkEventCrossing* pEvent, gpoi
gboolean GtkSalFrame::signalExpose( GtkWidget*, GdkEventExpose* pEvent, gpointer frame )
{
GtkSalFrame* pThis = static_cast<GtkSalFrame*>(frame);
- pThis->m_bPaintsBlocked = false;
struct SalPaintEvent aEvent( pEvent->area.x, pEvent->area.y, pEvent->area.width, pEvent->area.height, OpenGLHelper::isVCLOpenGLEnabled() );
@@ -2906,7 +2893,6 @@ gboolean GtkSalFrame::signalExpose( GtkWidget*, GdkEventExpose* pEvent, gpointer
gboolean GtkSalFrame::signalConfigure( GtkWidget*, GdkEventConfigure* pEvent, gpointer frame )
{
GtkSalFrame* pThis = static_cast<GtkSalFrame*>(frame);
- pThis->m_bPaintsBlocked = false;
bool bMoved = false, bSized = false;
int x = pEvent->x, y = pEvent->y;