summaryrefslogtreecommitdiff
path: root/servers
diff options
context:
space:
mode:
authorlonesurvivor <musicmylove@gmx.net>2017-01-03 10:27:24 +0100
committerlonesurvivor <musicmylove@gmx.net>2017-01-03 10:35:30 +0100
commit8b8807e37d2530324116943896c72d381d65cc15 (patch)
treeac5cc1466a5b527261a2ad17559b08f70f581604 /servers
parent3fae505128d5bfdeec42244820d0b85d0408f2b7 (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.h5
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;
}
};