diff --git a/src/gui/kernel/qplatformwindow.cpp b/src/gui/kernel/qplatformwindow.cpp index 2364f465b6c..faaf4185226 100644 --- a/src/gui/kernel/qplatformwindow.cpp +++ b/src/gui/kernel/qplatformwindow.cpp @@ -520,6 +520,20 @@ static inline const QScreen *effectiveScreen(const QWindow *window) return screen; } +/*! + Invalidates the window's surface by releasing its surface buffers. + + Many platforms do not support releasing the surface memory, + and the default implementation does nothing. + + The platform window is expected to recreate the surface again if + it is needed. For instance, if an OpenGL context is made current + on this window. + */ +void QPlatformWindow::invalidateSurface() +{ +} + /*! Helper function to get initial geometry on windowing systems which do not do smart positioning and also do not provide a means of centering a diff --git a/src/gui/kernel/qplatformwindow.h b/src/gui/kernel/qplatformwindow.h index 0adeb223f10..39bd8324a05 100644 --- a/src/gui/kernel/qplatformwindow.h +++ b/src/gui/kernel/qplatformwindow.h @@ -132,6 +132,8 @@ public: virtual void setAlertState(bool enabled); virtual bool isAlertState() const; + virtual void invalidateSurface(); + static QRect initialGeometry(const QWindow *w, const QRect &initialGeometry, int defaultWidth, int defaultHeight);