Kaydet (Commit) 8632db58 authored tarafından Miklos Vajna's avatar Miklos Vajna

svx: paint TextEdit to the output device in case of tiled rendering

With this, we still miss invalidations when the user types characters
into a TextEdit, but at least when manually triggering a full redraw we
gets the typed characters without finishing the editing.

Change-Id: I3ab8991a86c99fe3910ddc5e4f795b802c07c9a9
üst 2af65ff3
......@@ -308,7 +308,7 @@ void SdrObjEditView::TextEditDrawing(SdrPaintWindow& rPaintWindow) const
{
OutlinerView* pOLV = pActiveOutliner->GetView(i);
if(pOLV->GetWindow() == &rPaintWindow.GetOutputDevice())
if(pOLV->GetWindow() == &rPaintWindow.GetOutputDevice() || rPaintWindow.GetOutputDevice().isTiledRendering())
{
ImpPaintOutlinerView(*pOLV, aCheckRect, rPaintWindow.GetTargetOutputDevice());
return;
......
......@@ -17,6 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <memory>
#include <com/sun/star/awt/XWindow.hpp>
#include <svx/svdpntv.hxx>
#include <vcl/msgbox.hxx>
......@@ -734,6 +735,14 @@ void SdrPaintView::DoCompleteRedraw(SdrPaintWindow& rPaintWindow, const vcl::Reg
void SdrPaintView::EndCompleteRedraw(SdrPaintWindow& rPaintWindow, bool bPaintFormLayer)
{
std::unique_ptr<SdrPaintWindow> pPaintWindow;
if (rPaintWindow.GetOutputDevice().isTiledRendering() && rPaintWindow.getTemporaryTarget())
{
// Tiled rendering, we must paint the TextEdit to the output device.
pPaintWindow.reset(&rPaintWindow);
pPaintWindow->setTemporaryTarget(false);
}
if(rPaintWindow.getTemporaryTarget())
{
// get rid of temp target again
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment