# HG changeset patch # User Shai Ayal # Date 1259440532 18000 # Node ID 3ec3b8e80b67ae8d5d342c05438f1188e6d44da3 # Parent 9ed5f64e3959de96b0472cf8ad5bedd3b04e54ac fix order of drawing objects with opengl renderer diff -r 9ed5f64e3959 -r 3ec3b8e80b67 src/ChangeLog --- a/src/ChangeLog Sat Nov 28 14:05:33 2009 +0100 +++ b/src/ChangeLog Sat Nov 28 15:35:32 2009 -0500 @@ -1,3 +1,11 @@ +2009-11-28 Shai Ayal + + * gl-render.h (opengl_renderer::draw): Draw children from end of + list to preserve correct stacking order (first child should be on + top). + + * graphics.cc (maybe_set_children): Store sorted child lists. + 2009-11-27 Kacper Kowalik * ls-hdf5.cc (have_h5giterate_bug): Drop this group iteration flag diff -r 9ed5f64e3959 -r 3ec3b8e80b67 src/gl-render.h --- a/src/gl-render.h Sat Nov 28 14:05:33 2009 +0100 +++ b/src/gl-render.h Sat Nov 28 15:35:32 2009 -0500 @@ -60,7 +60,7 @@ { int len = hlist.length (); - for (int i = 0; i < len; i++) + for (int i = len-1; i >= 0; i--) { graphics_handle h = gh_manager::lookup (hlist(i)); diff -r 9ed5f64e3959 -r 3ec3b8e80b67 src/graphics.cc --- a/src/graphics.cc Sat Nov 28 14:05:33 2009 +0100 +++ b/src/graphics.cc Sat Nov 28 15:35:32 2009 -0500 @@ -1726,8 +1726,8 @@ Matrix t1 = kids; Matrix t2 = new_kids; - t1.sort (); - t2.sort (); + t1 = t1.sort (); + t2 = t2.sort (); if (t1 != t2) ok = false;