# HG changeset patch # User Shai Ayal # Date 1259440532 18000 # Node ID 3ec3b8e80b67ae8d5d342c05438f1188e6d44da3 # Parent 9ed5f64e3959de96b0472cf8ad5bedd3b04e54ac fix order of drawing objects with opengl renderer diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -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 --git a/src/gl-render.h b/src/gl-render.h --- a/src/gl-render.h +++ b/src/gl-render.h @@ -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 --git a/src/graphics.cc b/src/graphics.cc --- a/src/graphics.cc +++ b/src/graphics.cc @@ -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;