Your message dated Mon, 1 Dec 2014 21:26:47 +0000 with message-id <20141201212647.GV23644@lupin.home.powdarrmonkey.net> and subject line Re: Bug#771709: unblock: megaglest/3.9.1-2 has caused the Debian Bug report #771709, regarding unblock: megaglest/3.9.1-2 to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 771709: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=771709 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: unblock: megaglest/3.9.1-2
- From: Markus Koschany <apo@gambaru.de>
- Date: Mon, 01 Dec 2014 21:10:07 +0100
- Message-id: <[🔎] 20141201201007.31508.95200.reportbug@conan>
Package: release.debian.org Severity: normal User: release.debian.org@packages.debian.org Usertags: unblock Dear release team, Please unblock package megaglest. The megaglest package ships two additional tools, megaglest_editor and megaglest_g3dviewer. Both were unusable due to assertions with the latest version of wxWidgets. This issue was recently resolved by upstream and I cherry-picked the corresponding commits and also added -DNDEBUG to CPPFLAGS. This is Debian Bug https://bugs.debian.org/768572 Please find attached the debdiff against the version of Megaglest in testing. unblock megaglest/3.9.1-2 Regards, Markusdiff -Nru megaglest-3.9.1/debian/changelog megaglest-3.9.1/debian/changelog --- megaglest-3.9.1/debian/changelog 2014-10-03 20:31:07.000000000 +0200 +++ megaglest-3.9.1/debian/changelog 2014-12-01 19:35:11.000000000 +0100 @@ -1,3 +1,15 @@ +megaglest (3.9.1-2) unstable; urgency=medium + + * Add wxWidgets-assertions.patch. + Fix megaglest_editor and megaglest_g3dviewer assertions with newer versions + of wxWidgets that made the tools unusable. (Closes: #768572) + Cherry-picked from upstream master branch. Commits c21317a5f, ad0b65272, + 6faa3dc72. Thanks to Mark Vejvoda for the patch. + * debian/rules: Export DEB_CPPFLAGS_MAINT_APPEND = -DNDEBUG and disable + wxWidgets assertions. + + -- Markus Koschany <apo@gambaru.de> Mon, 01 Dec 2014 19:19:07 +0100 + megaglest (3.9.1-1) unstable; urgency=low [ Mark Vejvoda ] diff -Nru megaglest-3.9.1/debian/patches/series megaglest-3.9.1/debian/patches/series --- megaglest-3.9.1/debian/patches/series 2014-10-03 20:31:07.000000000 +0200 +++ megaglest-3.9.1/debian/patches/series 2014-12-01 19:35:11.000000000 +0100 @@ -1 +1,2 @@ fix-cmake-build-type-none.patch +wxWidgets-assertions.patch diff -Nru megaglest-3.9.1/debian/patches/wxWidgets-assertions.patch megaglest-3.9.1/debian/patches/wxWidgets-assertions.patch --- megaglest-3.9.1/debian/patches/wxWidgets-assertions.patch 1970-01-01 01:00:00.000000000 +0100 +++ megaglest-3.9.1/debian/patches/wxWidgets-assertions.patch 2014-12-01 19:35:11.000000000 +0100 @@ -0,0 +1,168 @@ +From: Markus Koschany <apo@gambaru.de> +Date: Mon, 1 Dec 2014 19:12:28 +0100 +Subject: wxWidgets assertions + +Fix wxWidgets assertions in megaglest_editor and megaglest_g3dviewer. + +Bug: https://bugs.debian.org/768572 +Forwarded: not-needed already fixed +--- + source/g3d_viewer/main.cpp | 23 +++++++++++++++-------- + source/g3d_viewer/main.h | 1 + + source/glest_map_editor/main.cpp | 20 +++++++++++++++----- + source/shared_lib/sources/graphics/model.cpp | 2 +- + 4 files changed, 32 insertions(+), 14 deletions(-) + +diff --git a/source/g3d_viewer/main.cpp b/source/g3d_viewer/main.cpp +index 1276f73..a6cdb4a 100644 +--- a/source/g3d_viewer/main.cpp ++++ b/source/g3d_viewer/main.cpp +@@ -480,12 +480,15 @@ void MainWindow::setupTimer() { + } + + void MainWindow::setupStartupSettings() { +- GLuint err = glewInit(); +- if (GLEW_OK != err) { ++ ++ glCanvas->setCurrentGLContext(); ++ ++ GLuint err = glewInit(); ++ if (GLEW_OK != err) { + fprintf(stderr, "Error [main]: glewInit failed: %s\n", glewGetErrorString(err)); + //return 1; + throw std::runtime_error((char *)glewGetErrorString(err)); +- } ++ } + + renderer= Renderer::getInstance(); + +@@ -567,7 +570,7 @@ MainWindow::~MainWindow(){ + void MainWindow::init() { + + #if wxCHECK_VERSION(2, 9, 3) +- glCanvas->setCurrentGLContext(); ++ //glCanvas->setCurrentGLContext(); + //printf("setcurrent #1\n"); + #elif wxCHECK_VERSION(2, 9, 1) + +@@ -585,7 +588,9 @@ void MainWindow::init() { + void MainWindow::onPaint(wxPaintEvent &event) { + if(!IsShown()) return; + +-#if wxCHECK_VERSION(2, 9, 3) ++#if wxCHECK_VERSION(2, 9, 4) ++ //glCanvas->setCurrentGLContext(); ++#elif wxCHECK_VERSION(2, 9, 3) + + #elif wxCHECK_VERSION(2, 9, 1) + glCanvas->setCurrentGLContext(); +@@ -756,8 +761,8 @@ void MainWindow::onClose(wxCloseEvent &event){ + delete timer; + timer = NULL; + +- delete model; +- model = NULL; ++ //delete model; ++ //model = NULL; + + delete renderer; + renderer = NULL; +@@ -2027,7 +2032,7 @@ GlCanvas::GlCanvas(MainWindow * mainWindow, int *args) + } + + GlCanvas::~GlCanvas() { +- delete this->context; ++ if(this->context) delete this->context; + this->context = NULL; + } + +@@ -2037,11 +2042,13 @@ void GlCanvas::setCurrentGLContext() { + #if wxCHECK_VERSION(2, 9, 1) + if(this->context == NULL) { + this->context = new wxGLContext(this); ++ //printf("Set ctx [%p]\n",this->context); + } + #endif + //printf("Set ctx [%p]\n",this->context); + if(this->context) { + wxGLCanvas::SetCurrent(*this->context); ++ //printf("Set ctx2 [%p]\n",this->context); + } + #else + this->SetCurrent(); +diff --git a/source/g3d_viewer/main.h b/source/g3d_viewer/main.h +index d22020d..e8142b8 100644 +--- a/source/g3d_viewer/main.h ++++ b/source/g3d_viewer/main.h +@@ -201,6 +201,7 @@ public: + void onKeyDown(wxKeyEvent &event); + void setCurrentGLContext(); + ++ wxGLContext * getCtx() { return context; } + private: + MainWindow *mainWindow; + wxGLContext *context; +diff --git a/source/glest_map_editor/main.cpp b/source/glest_map_editor/main.cpp +index 9b2dc57..e9c9b7c 100644 +--- a/source/glest_map_editor/main.cpp ++++ b/source/glest_map_editor/main.cpp +@@ -138,12 +138,12 @@ END_EVENT_TABLE() + + void MainWindow::init(string fname) { + #if wxCHECK_VERSION(2, 9, 3) +- glCanvas->setCurrentGLContext(); ++ //glCanvas->setCurrentGLContext(); + //printf("setcurrent #1\n"); + #elif wxCHECK_VERSION(2, 9, 1) + + #else +- glCanvas->SetCurrent(); ++ //glCanvas->SetCurrent(); + //printf("setcurrent #2\n"); + #endif + +@@ -638,11 +638,17 @@ void MainWindow::onPaint(wxPaintEvent &event) { + return; + } + +-#if wxCHECK_VERSION(2, 9, 3) ++//#if wxCHECK_VERSION(2, 9, 3) + +-#elif wxCHECK_VERSION(2, 9, 1) ++//#elif wxCHECK_VERSION(2, 9, 1) ++// glCanvas->setCurrentGLContext(); ++//#endif ++ ++ //static bool contextSet = false; ++ //if(contextSet == false) { ++ // contextSet = true; + glCanvas->setCurrentGLContext(); +-#endif ++ //} + + if(lastPaintEvent.getMillis() < 30) { + sleep(1); +@@ -1579,6 +1585,10 @@ bool App::OnInit() { + SystemFlags::VERBOSE_MODE_ENABLED = false; + SystemFlags::ENABLE_THREADED_LOGGING = false; + ++#if defined(wxMAJOR_VERSION) && defined(wxMINOR_VERSION) && defined(wxRELEASE_NUMBER) && defined(wxSUBRELEASE_NUMBER) ++ printf("Using wxWidgets version [%d.%d.%d.%d]\n",wxMAJOR_VERSION,wxMINOR_VERSION,wxRELEASE_NUMBER,wxSUBRELEASE_NUMBER); ++#endif ++ + string fileparam; + if(argc==2){ + if(argv[1][0]=='-') { // any flag gives help and exits program. +diff --git a/source/shared_lib/sources/graphics/model.cpp b/source/shared_lib/sources/graphics/model.cpp +index e3bf3cf..84becdb 100644 +--- a/source/shared_lib/sources/graphics/model.cpp ++++ b/source/shared_lib/sources/graphics/model.cpp +@@ -1099,7 +1099,7 @@ Model::Model() { + } + + Model::~Model() { +- delete [] meshes; ++ if(meshes) delete [] meshes; + meshes = NULL; + } + diff -Nru megaglest-3.9.1/debian/rules megaglest-3.9.1/debian/rules --- megaglest-3.9.1/debian/rules 2014-10-03 20:31:07.000000000 +0200 +++ megaglest-3.9.1/debian/rules 2014-12-01 19:35:11.000000000 +0100 @@ -1,5 +1,7 @@ #!/usr/bin/make -f export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +# Disable wxWidgets assertions +export DEB_CPPFLAGS_MAINT_APPEND = -DNDEBUG %: dh $@ --parallel
--- End Message ---
--- Begin Message ---
- To: Markus Koschany <apo@gambaru.de>, 771709-done@bugs.debian.org
- Subject: Re: Bug#771709: unblock: megaglest/3.9.1-2
- From: Jonathan Wiltshire <jmw@debian.org>
- Date: Mon, 1 Dec 2014 21:26:47 +0000
- Message-id: <20141201212647.GV23644@lupin.home.powdarrmonkey.net>
- In-reply-to: <[🔎] 20141201201007.31508.95200.reportbug@conan>
- References: <[🔎] 20141201201007.31508.95200.reportbug@conan>
On Mon, Dec 01, 2014 at 09:10:07PM +0100, Markus Koschany wrote: > The megaglest package ships two additional tools, megaglest_editor and > megaglest_g3dviewer. Both were unusable due to assertions with the > latest version of wxWidgets. This issue was recently resolved by > upstream and I cherry-picked the corresponding commits and also added > -DNDEBUG to CPPFLAGS. This is Debian > Bug Unblocked. -- Jonathan Wiltshire jmw@debian.org Debian Developer http://people.debian.org/~jmw 4096R: 0xD3524C51 / 0A55 B7C5 1223 3942 86EC 74C3 5394 479D D352 4C51Attachment: signature.asc
Description: Digital signature
--- End Message ---