[3Depict/f15/master] * Add possible fix for gl startup. Bug 684390
mycae
mycae at fedoraproject.org
Sun Mar 13 01:19:23 UTC 2011
commit 0874e6984739e854fece9032032af1ba17eb08c2
Author: mycae <mycae at yahoo.com>
Date: Wed Feb 2 16:40:44 2011 +0000
* Add possible fix for gl startup. Bug 684390
3Depict-0.0.4-gl-startup.patch | 79 ++++++++++++++++++++++++++++++++++++++++
3Depict.spec | 8 ++++-
2 files changed, 86 insertions(+), 1 deletions(-)
---
diff --git a/3Depict-0.0.4-gl-startup.patch b/3Depict-0.0.4-gl-startup.patch
new file mode 100644
index 0000000..bf81202
--- /dev/null
+++ b/3Depict-0.0.4-gl-startup.patch
@@ -0,0 +1,79 @@
+diff -r 50a287e4484b src/3Depict.cpp
+--- src/3Depict.cpp Mon Mar 07 01:33:27 2011 +0000
++++ src/3Depict.cpp Sun Mar 13 00:53:01 2011 +0000
+@@ -281,7 +281,7 @@
+ MainWindowFrame::MainWindowFrame(wxWindow* parent, int id, const wxString& title, const wxPoint& pos, const wxSize& size, long style):
+ wxFrame(parent, id, title, pos, size, style)
+ {
+-
++ initedOK=false;
+ programmaticEvent=false;
+ fullscreenState=0;
+ //Set up the program icon handler
+@@ -324,6 +324,14 @@
+ splitterSpectra = new wxSplitterWindow(noteDataView, ID_SPLIT_SPECTRA, wxDefaultPosition, wxDefaultSize, wxSP_3D|wxSP_BORDER);
+ window_2_pane_2 = new wxPanel(splitterSpectra, wxID_ANY);
+ panelTop = new BasicGLPane(splitTopBottom);
++
++ //I had to work this out by studying the construtor
++ if(!panelTop->m_glContext)
++ {
++ cerr << "Unable to initialise the openGL panel. Program cannot start. Please check your video drivers." << endl;
++ return;
++ }
++
+ panelLeft = new wxPanel(splitLeftRight, wxID_ANY);
+ notebookControl = new wxNotebook(panelLeft, ID_NOTEBOOK_CONTROL, wxDefaultPosition, wxDefaultSize, wxNB_RIGHT);
+ noteTools = new wxPanel(notebookControl, ID_NOTE_PERFORMANCE, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
+@@ -661,7 +669,7 @@
+ delete paths;
+ //-----------------
+
+-
++ initedOK=true;
+
+
+ updateTimer->Start(UPDATE_TIMER_DELAY,wxTIMER_CONTINUOUS);
+@@ -4208,7 +4216,7 @@
+ {
+
+ //Register signal handler for backtraces
+- if (!wxApp::OnInit())
++ if (!wxApp::OnInit())
+ return false;
+
+ //Need to seed random number generator for entire program
+@@ -4220,6 +4228,10 @@
+
+ wxInitAllImageHandlers();
+ MainFrame = new MainWindowFrame(NULL, wxID_ANY, wxEmptyString);
++
++ if(!MainFrame->initOK())
++ return false;
++
+ SetTopWindow(MainFrame);
+
+ #ifdef DEBUG
+diff -r 50a287e4484b src/3Depict.h
+--- src/3Depict.h Mon Mar 07 01:33:27 2011 +0000
++++ src/3Depict.h Sun Mar 13 00:53:01 2011 +0000
+@@ -108,6 +108,8 @@
+
+ //!Current fullscreen status
+ unsigned int fullscreenState;
++
++ bool initedOK;
+ protected:
+ wxTimer *statusTimer;
+ wxTimer *progressTimer;
+@@ -301,6 +303,10 @@
+
+ virtual void SetCommandLineFiles(wxArrayString &files);
+ virtual void updateLastRefreshBox();
++
++
++ bool initOK() const {return initedOK;}
++
+ }; // wxGlade: end class
+
+
diff --git a/3Depict.spec b/3Depict.spec
index 5f1664a..0e74639 100644
--- a/3Depict.spec
+++ b/3Depict.spec
@@ -1,6 +1,6 @@
Name: 3Depict
Version: 0.0.4
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Valued 3D point cloud visualization and analysis
Group: Applications/Engineering
@@ -13,6 +13,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#Fedora specific texture path install location
Patch0: %{name}-%{version}-texture-path.patch
+#Fix bug for opengl startup crash on initalisiation fail
+Patch1: %{name}-%{version}-gl-startup.patch
#Mathgl for plotting
BuildRequires: mathgl-devel
@@ -44,6 +46,7 @@ useful for general scalar valued point data purposes.
%prep
%setup -q
%patch0
+%patch1
%build
#--enable-openmp-parallel does not work -- there is a bug in the
@@ -97,6 +100,9 @@ rm -rf %{buildroot}
%changelog
+* Sat Mar 13 2011 D Haley <mycae(a!t)yahoo.com> - 0.0.4-4
+- Patch opengl startup code -- peek at gl context. Possible fix for bug 684390
+
* Sat Feb 12 2011 D Haley <mycae(a!t)yahoo.com> - 0.0.4-3
- Fix bug 677016
More information about the scm-commits
mailing list