[kicad/f15/master] Don't forget the file...

Alain Portal dionysos at fedoraproject.org
Mon Apr 4 18:39:25 UTC 2011


commit 0ebfd3fdb173aaeb791e7a04dc1ff4bd579f9f1f
Author: Alain Portal <alain.portal at free.fr>
Date:   Mon Apr 4 20:39:21 2011 +0200

    Don't forget the file...

 kicad-2011.01.28-3DViewer-crash.patch |   89 +++++++++++++++++++++++++++++++++
 1 files changed, 89 insertions(+), 0 deletions(-)
---
diff --git a/kicad-2011.01.28-3DViewer-crash.patch b/kicad-2011.01.28-3DViewer-crash.patch
new file mode 100644
index 0000000..2c9c4f4
--- /dev/null
+++ b/kicad-2011.01.28-3DViewer-crash.patch
@@ -0,0 +1,89 @@
+diff -ru kicad-2011.01.28-2.rev2795/3d-viewer/3d_canvas.cpp kicad-2011.01.28-3.rev2795/3d-viewer/3d_canvas.cpp
+--- kicad-2011.01.28-2.rev2795/3d-viewer/3d_canvas.cpp	2011-03-01 20:24:25.000000000 +0100
++++ kicad-2011.01.28-3.rev2795/3d-viewer/3d_canvas.cpp	2011-04-04 19:12:49.000000000 +0200
+@@ -73,9 +73,9 @@
+                 Pcb3D_GLCanvas::OnPopUpMenu )
+ END_EVENT_TABLE()
+ 
+-Pcb3D_GLCanvas::Pcb3D_GLCanvas( WinEDA3D_DrawFrame* parent ) :
+-#if wxCHECK_VERSION( 2, 9, 0 )
+-    wxGLCanvas( parent, -1, NULL, wxDefaultPosition, wxDefaultSize,
++Pcb3D_GLCanvas::Pcb3D_GLCanvas( WinEDA3D_DrawFrame* parent, int* attribList ) :
++#if wxCHECK_VERSION( 2, 7, 0 )
++    wxGLCanvas( parent, -1,  attribList, wxDefaultPosition, wxDefaultSize,
+                 wxFULL_REPAINT_ON_RESIZE )
+ #else
+     wxGLCanvas( parent, -1, wxDefaultPosition, wxDefaultSize,
+@@ -87,7 +87,7 @@
+     m_Parent = parent;
+     m_ortho = false;
+ 
+-#if wxCHECK_VERSION( 2, 9, 0 )
++#if wxCHECK_VERSION( 2, 7, 0 )
+ 
+     // Explicitly create a new rendering context instance for this canvas.
+     m_glRC = new wxGLContext( this );
+@@ -101,7 +101,7 @@
+ {
+     ClearLists();
+     m_init = FALSE;
+-#if wxCHECK_VERSION( 2, 9, 0 )
++#if wxCHECK_VERSION( 2, 7, 0 )
+     delete m_glRC;
+ #endif
+ }
+diff -ru kicad-2011.01.28-2.rev2795/3d-viewer/3d_draw.cpp kicad-2011.01.28-3.rev2795/3d-viewer/3d_draw.cpp
+--- kicad-2011.01.28-2.rev2795/3d-viewer/3d_draw.cpp	2011-03-01 20:24:25.000000000 +0100
++++ kicad-2011.01.28-3.rev2795/3d-viewer/3d_draw.cpp	2011-04-04 19:14:26.000000000 +0200
+@@ -55,7 +55,11 @@
+ 
+ void Pcb3D_GLCanvas::Redraw( bool finish )
+ {
+-#if wxCHECK_VERSION( 2, 9, 0 )
++    /* SwapBuffer requires the window to be shown before calling */
++    if( !IsShown() )
++        return;
++
++#if wxCHECK_VERSION( 2, 7, 0 )
+     SetCurrent( *m_glRC );
+ #else
+     SetCurrent();
+@@ -96,7 +100,7 @@
+     }
+ 
+     glFlush();
+-    if( finish )
++    if( finish );
+         glFinish();
+     SwapBuffers();
+ }
+diff -ru kicad-2011.01.28-2.rev2795/3d-viewer/3d_frame.cpp kicad-2011.01.28-3.rev2795/3d-viewer/3d_frame.cpp
+--- kicad-2011.01.28-2.rev2795/3d-viewer/3d_frame.cpp	2011-03-01 20:24:25.000000000 +0100
++++ kicad-2011.01.28-3.rev2795/3d-viewer/3d_frame.cpp	2011-04-04 19:15:05.000000000 +0200
+@@ -78,7 +78,8 @@
+     ReCreateVToolbar();
+ 
+     // Make a Pcb3D_GLCanvas
+-    m_Canvas = new Pcb3D_GLCanvas( this );
++    int attrs[] = { WX_GL_RGBA, WX_GL_DOUBLEBUFFER, WX_GL_DEPTH_SIZE, 16, 0 };
++    m_Canvas = new Pcb3D_GLCanvas( this, attrs );
+ 
+     m_auimgr.SetManagedWindow( this );
+ 
+diff -ru kicad-2011.01.28-2.rev2795/3d-viewer/3d_viewer.h kicad-2011.01.28-3.rev2795/3d-viewer/3d_viewer.h
+--- kicad-2011.01.28-2.rev2795/3d-viewer/3d_viewer.h	2011-03-01 20:24:25.000000000 +0100
++++ kicad-2011.01.28-3.rev2795/3d-viewer/3d_viewer.h	2011-04-04 19:15:55.000000000 +0200
+@@ -141,11 +141,11 @@
+     /// Tracks whether to use Orthographic or Perspective projection
+     //TODO: Does this belong here, or in  WinEDA3D_DrawFrame ???
+     bool         m_ortho;
+-#if wxCHECK_VERSION( 2, 9, 0 )
++#if wxCHECK_VERSION( 2, 7, 0 )
+     wxGLContext* m_glRC;
+ #endif
+ public:
+-    Pcb3D_GLCanvas( WinEDA3D_DrawFrame* parent );
++    Pcb3D_GLCanvas( WinEDA3D_DrawFrame* parent, int* attribList = 0 );
+     ~Pcb3D_GLCanvas();
+ 
+     void   ClearLists();


More information about the scm-commits mailing list