diff mbox series

[PULL,4/9] hw/display/artist: Avoid drawing line when nothing to display

Message ID 20200218193929.11404-5-richard.henderson@linaro.org
State New
Headers show
Series [PULL,1/9] hw/display/artist: Move trace event to draw_line() | expand

Commit Message

Richard Henderson Feb. 18, 2020, 7:39 p.m. UTC
From: Philippe Mathieu-Daudé <f4bug@amsat.org>

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200214001303.12873-5-f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 hw/display/artist.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Sven Schnelle Feb. 29, 2020, 9:31 a.m. UTC | #1
On Tue, Feb 18, 2020 at 11:39:24AM -0800, Richard Henderson wrote:
> From: Philippe Mathieu-Daudé <f4bug@amsat.org>
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> Message-Id: <20200214001303.12873-5-f4bug@amsat.org>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  hw/display/artist.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/hw/display/artist.c b/hw/display/artist.c
> index 97c811b35e..5492079116 100644
> --- a/hw/display/artist.c
> +++ b/hw/display/artist.c
> @@ -579,6 +579,9 @@ static void draw_line(ARTISTState *s, int x1, int y1, int x2, int y2,
>      } else {
>          dy = y1 - y2;
>      }
> +    if (!dx || !dy) {
> +        return;
> +    }
>  
>      c1 = false;
>      if (dy > dx) {
> -- 
> 2.20.1
> 
> 

I noticed that this change causes 1px wide lines to disappear. So i would propose
to revert that change.

Regards
Sven
Philippe Mathieu-Daudé March 2, 2020, 9:50 a.m. UTC | #2
On 2/29/20 10:31 AM, Sven Schnelle wrote:
> On Tue, Feb 18, 2020 at 11:39:24AM -0800, Richard Henderson wrote:
>> From: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> Message-Id: <20200214001303.12873-5-f4bug@amsat.org>
>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>> ---
>>   hw/display/artist.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/hw/display/artist.c b/hw/display/artist.c
>> index 97c811b35e..5492079116 100644
>> --- a/hw/display/artist.c
>> +++ b/hw/display/artist.c
>> @@ -579,6 +579,9 @@ static void draw_line(ARTISTState *s, int x1, int y1, int x2, int y2,
>>       } else {
>>           dy = y1 - y2;
>>       }
>> +    if (!dx || !dy) {
>> +        return;
>> +    }
>>   
>>       c1 = false;
>>       if (dy > dx) {
>> -- 
>> 2.20.1
>>
>>
> 
> I noticed that this change causes 1px wide lines to disappear. So i would propose
> to revert that change.

Maybe "if (!dx && !dy) { return; }"?

> 
> Regards
> Sven
>
diff mbox series

Patch

diff --git a/hw/display/artist.c b/hw/display/artist.c
index 97c811b35e..5492079116 100644
--- a/hw/display/artist.c
+++ b/hw/display/artist.c
@@ -579,6 +579,9 @@  static void draw_line(ARTISTState *s, int x1, int y1, int x2, int y2,
     } else {
         dy = y1 - y2;
     }
+    if (!dx || !dy) {
+        return;
+    }
 
     c1 = false;
     if (dy > dx) {