diff options
author | lonesurvivor <musicmylove@gmx.net> | 2017-01-03 10:27:24 +0100 |
---|---|---|
committer | lonesurvivor <musicmylove@gmx.net> | 2017-01-03 10:35:30 +0100 |
commit | 8b8807e37d2530324116943896c72d381d65cc15 (patch) | |
tree | ac5cc1466a5b527261a2ad17559b08f70f581604 /servers | |
parent | 3fae505128d5bfdeec42244820d0b85d0408f2b7 (diff) |
Improvement to y_sort: make clear which item has to be drawn first
when both have the same y coordinate (prevents possible flickering). Reapplying #7241 to the 3.0 code.
Diffstat (limited to 'servers')
-rw-r--r-- | servers/visual/visual_server_canvas.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/servers/visual/visual_server_canvas.h b/servers/visual/visual_server_canvas.h index b5412ed608..e1edc47f9f 100644 --- a/servers/visual/visual_server_canvas.h +++ b/servers/visual/visual_server_canvas.h @@ -44,7 +44,10 @@ public: _FORCE_INLINE_ bool operator()(const Item* p_left,const Item* p_right) const { - return p_left->xform.elements[2].y < p_right->xform.elements[2].y; + if(Math::abs(p_left->xform.elements[2].y - p_right->xform.elements[2].y) < CMP_EPSILON ) + return p_left->xform.elements[2].x < p_right->xform.elements[2].x; + else + return p_left->xform.elements[2].y < p_right->xform.elements[2].y; } }; |