From b4477d877ad86ed8b1cd8dc44697604cdcba7ce4 Mon Sep 17 00:00:00 2001 From: Stefan Schippers Date: Sat, 29 Aug 2020 12:34:52 +0200 Subject: [PATCH] ensure drawline/drawrect proper buffer initialization before drawing moved/copied texts --- src/move.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/move.c b/src/move.c index 5d26b954..dda3c44f 100644 --- a/src/move.c +++ b/src/move.c @@ -745,7 +745,12 @@ void copy_objects(int what) textlayer = textelement[lasttext].layer; /* 20171206 */ if(textlayer < 0 || textlayer >= cadlayers) textlayer = TEXTLAYER; - + #ifndef HAS_CAIRO + if(textlayer > k) { /* ensure BEGIN is executed, if textlayer<=k already done at beginning of for(k) loop */ + drawrect(textlayer, BEGIN, 0.0, 0.0, 0.0, 0.0); + drawline(textlayer, BEGIN, 0.0, 0.0, 0.0, 0.0); + } + #endif #ifdef HAS_CAIRO textfont = textelement[lasttext].font; /* 20171206 */ if(textfont && textfont[0]) { @@ -1214,6 +1219,12 @@ void move_objects(int what, int merge, double dx, double dy) textlayer = textelement[n].layer; /* 20171206 */ if(textlayer < 0 || textlayer >= cadlayers) textlayer = TEXTLAYER; + #ifndef HAS_CAIRO + if(textlayer > k) { /* ensure BEGIN is executed, if textlayer<=k already done at beginning of for(k) loop */ + drawrect(textlayer, BEGIN, 0.0, 0.0, 0.0, 0.0); + drawline(textlayer, BEGIN, 0.0, 0.0, 0.0, 0.0); + } + #endif #ifdef HAS_CAIRO textfont = textelement[n].font; /* 20171206 */ if(textfont && textfont[0]) {