changeset 25260:601cc3a063f5 stable

Fix OpenGL line-stipple bug manifested as Nouveau driver crash (bug #53644) * gl-render.cc (opengl_renderer::draw_axes_boxes): Add a line at the end of the routine that will disable the line stipple that may have been added at the front of the routine prior to the box render. (opengl_renderer::draw_axes): Remove the similar to that added to draw_axes_boxes() since both instances of the routine are now covered as far as disabling line stipple. (opengl_renderer::draw_text_background): Add a line of code after the line rendering OpenGL calls to disable any added line stipple.
author Daniel J Sebald <daniel.sebald@ieee.org>
date Sun, 15 Apr 2018 04:02:32 -0500
parents bf2044618c7b
children 32323f5e61d2
files libinterp/corefcn/gl-render.cc
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/gl-render.cc	Sun Apr 15 19:35:09 2018 +0200
+++ b/libinterp/corefcn/gl-render.cc	Sun Apr 15 04:02:32 2018 -0500
@@ -1339,6 +1339,8 @@
 
     glEnd ();
 
+    set_linestyle ("-");  // Disable LineStipple
+
 #else
 
     octave_unused_parameter (props);
@@ -2131,8 +2133,6 @@
           draw_axes_boxes (props);
       }
 
-    set_linestyle ("-");  // Disable LineStipple
-
     set_clipbox (x_min, x_max, y_min, y_max, z_min, z_max);
 
     draw_axes_children (props);
@@ -3583,6 +3583,8 @@
         glVertex2d (x0, y1);
         glVertex2d (x0, y0);
         glEnd ();
+
+        set_linestyle ("-");
       }
 
     // Restore previous coordinate system