diff -Naur FreeCAD-0.11.4422.orig//src/Gui/Application.cpp FreeCAD-0.11.4422/src/Gui/Application.cpp --- FreeCAD-0.11.4422.orig//src/Gui/Application.cpp 2011-05-01 18:27:04.766233275 +0200 +++ FreeCAD-0.11.4422/src/Gui/Application.cpp 2011-05-01 21:49:10.363876605 +0200 @@ -1318,14 +1318,20 @@ } #endif +// To fix bug #0000345 move Q_INIT_RESOURCE() outside initApplication() +static void init_resources() +{ + // init resources + Q_INIT_RESOURCE(resource); + Q_INIT_RESOURCE(translation); +} + void Application::initApplication(void) { try { initTypes(); new Base::ScriptProducer( "FreeCADGuiInit", FreeCADGuiInit ); // add resources - Q_INIT_RESOURCE(resource); - Q_INIT_RESOURCE(translation); old_qtmsg_handler = qInstallMsgHandler(messageHandler); } catch (...) { diff -Naur FreeCAD-0.11.4422.orig//src/Gui/MDIView.cpp FreeCAD-0.11.4422/src/Gui/MDIView.cpp --- FreeCAD-0.11.4422.orig//src/Gui/MDIView.cpp 2011-05-01 18:27:04.766233275 +0200 +++ FreeCAD-0.11.4422/src/Gui/MDIView.cpp 2011-05-01 18:29:27.672125752 +0200 @@ -207,6 +207,11 @@ } } +#if defined(Q_WS_X11) +// To fix bug #0000345 move function declaration to here + extern void qt_x11_wait_for_window_manager( QWidget* w ); // defined in qwidget_x11.cpp +#endif + void MDIView::setCurrentViewMode(ViewMode mode) { switch (mode) { @@ -246,7 +251,7 @@ showNormal(); #if defined(Q_WS_X11) - extern void qt_x11_wait_for_window_manager( QWidget* w ); // defined in qwidget_x11.cpp + //extern void qt_x11_wait_for_window_manager( QWidget* w ); // defined in qwidget_x11.cpp qt_x11_wait_for_window_manager(this); #endif activateWindow(); diff -Naur FreeCAD-0.11.4422.orig//src/Mod/Mesh/App/Core/MeshIO.cpp FreeCAD-0.11.4422/src/Mod/Mesh/App/Core/MeshIO.cpp --- FreeCAD-0.11.4422.orig//src/Mod/Mesh/App/Core/MeshIO.cpp 2011-05-01 18:26:51.899636311 +0200 +++ FreeCAD-0.11.4422/src/Mod/Mesh/App/Core/MeshIO.cpp 2011-05-01 18:31:42.804727010 +0200 @@ -1412,9 +1412,11 @@ while (clIter < clEnd) { pclFacet = &(*clIter); // normal - rstrOut.write((const char*)&(pclFacet->GetNormal().x), sizeof(float)); - rstrOut.write((const char*)&(pclFacet->GetNormal().y), sizeof(float)); - rstrOut.write((const char*)&(pclFacet->GetNormal().z), sizeof(float)); + Base::Vector3f normal = pclFacet->GetNormal(); + rstrOut.write((const char*)&(normal.x), sizeof(float)); + rstrOut.write((const char*)&(normal.y), sizeof(float)); + rstrOut.write((const char*)&(normal.z), sizeof(float)); + // vertices for (i = 0; i < 3; i++) { diff -Naur FreeCAD-0.11.4422.orig//src/zipios++/directory.h FreeCAD-0.11.4422/src/zipios++/directory.h --- FreeCAD-0.11.4422.orig//src/zipios++/directory.h 2011-05-01 18:26:59.209596709 +0200 +++ FreeCAD-0.11.4422/src/zipios++/directory.h 2011-05-01 18:32:32.504457764 +0200 @@ -31,6 +31,7 @@ #include #include #include +#include // #include Contents of boost.h