Created attachment 117499 [details] How it looks like currently If LO is started with: VCL_DOUBLEBUFFERING_FORCE_ENABLE=1 SAL_USE_VCLPLUGIN=gtk ./soffice then VCL's blinking cursor is still painted directly on the Window. I *think* this is the root cause of the situation that sometimes the cursor is not hidden when double-buffering is enabled, see the attached screenshot.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=09bd5846d57bf6b506b0967d664b2f80562e03fc tdf#92982 vcl: move Invert() member functions from vcl::Window to OutputDevice It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=a33e0379bbe2c7651315f5cdc5925adab33b573b tdf#92982 vcl rendercontext: move buffer from PaintHelper to ImplFrameData It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=79c9598d0a586f44757954556661ce6eda1f997e tdf#92982 vcl::Cursor: handle rendercontext It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=d3e7bac9172b7302d29792ffc480955b7a7b6896&h=libreoffice-5-0 tdf#92982 vcl: move Invert() member functions from vcl::Window to OutputDevice It will be available in 5.0.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ea5e83abcfa1406c401b8a1ec91efda65373b74b tdf#92982 vcl: stop creating/disposing the paint buffer in PaintHelper It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=b27af0af9d621b82694b7fc70e143e22d2febe2e&h=libreoffice-5-0 tdf#92982 vcl rendercontext: move buffer from PaintHelper to ImplFrameData It will be available in 5.0.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c618e888ca92afa2a301eebc5ce8de77f318d00a&h=libreoffice-5-0 tdf#92982 vcl::Cursor: handle rendercontext It will be available in 5.0.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=a0f68343d1c0ae39de39194647e014555e3ed237&h=libreoffice-5-0 tdf#92982 vcl: stop creating/disposing the paint buffer in PaintHelper It will be available in 5.0.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=161f7533ac177c25516ec206233936bd6982e3df tdf#92982 vcl rendercontext: set buffer size in ImplHandleResize() It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Created attachment 117565 [details] Sidebar problem. The last commit caused a problem, in case the repaint rectangle is empty, we didn't erase anything, and that caused multiple paints painting over each other, without an erase, see the sidebar screenshot.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=43ac95ab64980ed958ba144c33971f897791d15f tdf#92982 vcl rendercontext: handle empty repaint rect in PaintHelper It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=4acfac8501cebf24e614be090efde12b3b4df392&h=libreoffice-5-0 tdf#92982 vcl rendercontext: set buffer size in ImplHandleResize() It will be available in 5.0.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=8bb963c3e51725fba649a5db0f5deb8778f1232b tdf#92982 vcl rendercontext: no buffer is created here It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=27f6b2c038f5daf16a7fff4adf478b603eb08399 tdf#92982 vcl rendercontext: no need to call SetupBuffer() twice It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ac2bd6e1c50b0155707b90d301ccb9df5cd91a92&h=libreoffice-5-0 tdf#92982 vcl rendercontext: no need to call SetupBuffer() twice It will be available in 5.0.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=94a6daa068f75c7196e79a8a4295c2a069ff4530 tdf#92982 vcl rendercontext: set correct offset for the frame-level buffer It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c36a00b811471b81abf189d80e07b5ff96243288 tdf#92982 vcl rendercontext: PaintHelper: restore set buffer properties It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=28e465d2611adee62aac984a9c0bf731adcb793b tdf#92982 vcl rendercontext: let PaintBufferGuard also manage pixel offset It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ec1a0354050491e84792a30df75d361803b62b1f tdf#92982 vcl rendercontext: no need to tweak map mode in PaintBuffer() It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=f975b84a80dc17a3f91e7754eb4ce6a781e2508a&h=libreoffice-5-0 tdf#92982 vcl rendercontext: set correct offset for the frame-level buffer It will be available in 5.0.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=968bc55adebd0158349b32a31ea341be292d8aa1 tdf#92982 vcl rendercontext: fix buffer size with empty user profile It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=884856481774a6e6eb3e350bf76b3900c2e62b0d&h=libreoffice-5-0 tdf#92982 vcl rendercontext: fix buffer size with empty user profile It will be available in 5.0.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Created attachment 117717 [details] Spin field problem. Current problem is that if the spin fields are updated, then the white background from the VirtualDevice is not painted before the buffer hits the screen, see how the white rectangle around the "0.42 cm" overpaints the border of the widget.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=f4a2c604c73337cd21cd98d975b4f2b943fbab60 tdf#92982 vcl rendercontext: fix missing background repaint of Edit It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=207edc05ceadda49e311758cae67be1ea2d0e49d&h=libreoffice-5-0 tdf#92982 vcl rendercontext: fix missing background repaint of Edit It will be available in 5.0.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c85b25114a756e1abb3e68a4c7d3630c486917b5 tdf#92982 vcl rendercontext: make PaintBufferGuard visible outside paint.cxx It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=a6c7a0bf105c399d087e2d9f843dbd9b175fdf42 tdf#92982 vcl rendercontext: move buffer paint logic to PaintBufferGuard It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c64a7ce1fcd1e30956a77530d0b76ad493841024 Resolves: tdf#92982 vcl rendercontext: handle buffered paint of vcl::Cursor It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Finally we can assert that no Invert() happens on a vcl::Window that is double buffered, so the original problem is now resolved.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ec5da2f76adbfeaf1cebc6fb0e0dea08a7bdfe79&h=libreoffice-5-0 Resolves: tdf#92982 vcl rendercontext: handle buffered paint of vcl::Cursor It will be available in 5.0.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Created attachment 117812 [details] How oxygen-gtk looks like currently This is one last remaining problem here, some Gtk themes now show an additional horizontal artifact on combo boxes with double-buffering enabled, including oxygen-gtk.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=4532ea42904e4a7d6c50f7f8ea53aaa97ec72c5e tdf#92982 vcl rendercontext: simplify Edit::ImplClearBackground() logic It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=35aa47d30c01425a303c1fdaf8651b5fa0944b3a&h=libreoffice-5-0 tdf#92982 vcl rendercontext: simplify Edit::ImplClearBackground() logic It will be available in 5.0.2. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=012a7115d11c6bc2f4c3c33180c319d043a22d51 Related: tdf#92982 vcl rendercontext: optimize non-buffered paint of Cursor It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0-2": http://cgit.freedesktop.org/libreoffice/core/commit/?id=5af5c4a1038f9b0ce38716300401fda40c7fba10&h=libreoffice-5-0-2 Related: tdf#92982 vcl rendercontext: optimize non-buffered paint of Cursor It will be available in 5.0.2. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=8488315d565a061749546df27d2507d0927a8993&h=libreoffice-5-0 Related: tdf#92982 vcl rendercontext: optimize non-buffered paint of Cursor It will be available in 5.0.3. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.