Skip to content
Snippets Groups Projects
Commit d5c0369c authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

build fixes + plug memory leak

parent 65c7cd88
No related branches found
No related tags found
No related merge requests found
...@@ -59,9 +59,8 @@ if(ENABLE_BUILD_IOS_EMULATOR OR ENABLE_BUILD_IOS) ...@@ -59,9 +59,8 @@ if(ENABLE_BUILD_IOS_EMULATOR OR ENABLE_BUILD_IOS)
add_custom_target(xcodeProject add_custom_target(xcodeProject
cd ${CMAKE_CURRENT_SOURCE_DIR}/utils/ && ${CMAKE_CURRENT_SOURCE_DIR}/utils/make_icon_ios.sh cd ${CMAKE_CURRENT_SOURCE_DIR}/utils/ && ${CMAKE_CURRENT_SOURCE_DIR}/utils/make_icon_ios.sh
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/utils/ios.iconset/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/ COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/utils/ios.iconset/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Default-568h@2x.png ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Default-568h@2x.png COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Onelab/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Onelab/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Onelab.xcodeproj/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab.xcodeproj/ COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Onelab.xcodeproj/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab.xcodeproj/
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/drawContext.cpp ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/drawContext.cpp ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/drawContext.h ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/drawContext.h ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
...@@ -82,7 +81,7 @@ if(ENABLE_BUILD_IOS_EMULATOR OR ENABLE_BUILD_IOS) ...@@ -82,7 +81,7 @@ if(ENABLE_BUILD_IOS_EMULATOR OR ENABLE_BUILD_IOS)
COMMAND ${CMAKE_COMMAND} -E copy ${PETSC_FRAMEWORK}/petsc ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/petsc.framework/ COMMAND ${CMAKE_COMMAND} -E copy ${PETSC_FRAMEWORK}/petsc ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/petsc.framework/
) )
copy_headers(${GETDP_FRAMEWORK}/Headers/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/GetDP.framework/Headers/) copy_headers(${GETDP_FRAMEWORK}/Headers/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/GetDP.framework/Headers/)
copy_headers(${GMSH_FRAMEWORK}/Headers/gmsh/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/Gmsh.framework/Headers/) copy_headers(${GMSH_FRAMEWORK}/Headers/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/Gmsh.framework/Headers/)
copy_headers(${PETSC_FRAMEWORK}/Headers/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/petsc.framework/Headers/) copy_headers(${PETSC_FRAMEWORK}/Headers/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/petsc.framework/Headers/)
message(STATUS "") message(STATUS "")
......
...@@ -378,8 +378,8 @@ void drawContext::drawScale() ...@@ -378,8 +378,8 @@ void drawContext::drawScale()
double xmin = this->_left + (this->_right - this->_left -width)/2.; double xmin = this->_left + (this->_right - this->_left -width)/2.;
double ymin = this->_bottom + height + 2*height*nPview; double ymin = this->_bottom + height + 2*height*nPview;
GLfloat *vertex = (GLfloat *)malloc(opt->nbIso*3*4*sizeof(GLfloat)); std::vector<GLfloat> vertex(opt->nbIso*3*4);
GLubyte *color = (GLubyte *)malloc(opt->nbIso*4*4*sizeof(GLubyte)); std::vector<GLubyte> color(opt->nbIso*4*4);
for(int i = 0; i < opt->nbIso; i++){ for(int i = 0; i < opt->nbIso; i++){
if(opt->intervalsType == PViewOptions::Discrete || opt->intervalsType == PViewOptions::Numeric) if(opt->intervalsType == PViewOptions::Discrete || opt->intervalsType == PViewOptions::Numeric)
{ {
...@@ -451,9 +451,9 @@ void drawContext::drawScale() ...@@ -451,9 +451,9 @@ void drawContext::drawScale()
} }
} }
glVertexPointer(3, GL_FLOAT, 0, vertex); glVertexPointer(3, GL_FLOAT, 0, &vertex[0]);
glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_VERTEX_ARRAY);
glColorPointer(4, GL_UNSIGNED_BYTE, 0, color); glColorPointer(4, GL_UNSIGNED_BYTE, 0, &color[0]);
glEnableClientState(GL_COLOR_ARRAY); glEnableClientState(GL_COLOR_ARRAY);
if(opt->intervalsType == PViewOptions::Discrete || opt->intervalsType == PViewOptions::Numeric || opt->intervalsType == PViewOptions::Continuous) if(opt->intervalsType == PViewOptions::Discrete || opt->intervalsType == PViewOptions::Numeric || opt->intervalsType == PViewOptions::Continuous)
glDrawArrays(GL_TRIANGLE_STRIP, 0, opt->nbIso*4); glDrawArrays(GL_TRIANGLE_STRIP, 0, opt->nbIso*4);
...@@ -461,20 +461,17 @@ void drawContext::drawScale() ...@@ -461,20 +461,17 @@ void drawContext::drawScale()
glDrawArrays(GL_LINES, 0, opt->nbIso*4); glDrawArrays(GL_LINES, 0, opt->nbIso*4);
glDisableClientState(GL_COLOR_ARRAY); glDisableClientState(GL_COLOR_ARRAY);
glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_VERTEX_ARRAY);
free(vertex);
free(color);
char label[1024]; char label[1024];
drawString *lbl = new drawString(p->getData()->getName().c_str(), 20); drawString lbl(p->getData()->getName().c_str(), 20);
lbl->draw(xmin+width/2, ymin-height/2, 0., _width/(_right-_left), _height/(_top-_bottom)); lbl.draw(xmin+width/2, ymin-height/2, 0., _width/(_right-_left), _height/(_top-_bottom));
drawString *val = new drawString(p->getData()->getName().c_str(), 14); drawString val(p->getData()->getName().c_str(), 14);
for(int i = 0; i < 3; i++) { for(int i = 0; i < 3; i++) {
double v = opt->getScaleValue(i, 3, opt->tmpMin, opt->tmpMax); double v = opt->getScaleValue(i, 3, opt->tmpMin, opt->tmpMax);
sprintf(label, opt->format.c_str(), v); sprintf(label, opt->format.c_str(), v);
val->setText(label); val.setText(label);
val->draw(xmin+i*width/2, ymin+height/2, 0., _width/(_right-_left), _height/(_top-_bottom)); val.draw(xmin+i*width/2, ymin+height/2, 0., _width/(_right-_left), _height/(_top-_bottom));
} }
nPview++; nPview++;
} }
glPopMatrix(); glPopMatrix();
...@@ -522,12 +519,12 @@ void drawContext::drawAxes(float x0, float y0, float z0, float h) ...@@ -522,12 +519,12 @@ void drawContext::drawAxes(float x0, float y0, float z0, float h)
glDrawArrays(GL_LINES, 0, 6); glDrawArrays(GL_LINES, 0, 6);
glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_COLOR_ARRAY); glDisableClientState(GL_COLOR_ARRAY);
drawString *x = new drawString("X", 16,colors); drawString x ("X", 16,colors);
x->draw(x0+h, y0, z0, _width/(_right-_left), _height/(_top-_bottom)); x.draw(x0+h, y0, z0, _width/(_right-_left), _height/(_top-_bottom));
drawString *y = new drawString("Y", 16,colors+8); drawString y("Y", 16,colors+8);
y->draw(x0, y0+h, z0, _width/(_right-_left), _height/(_top-_bottom)); y.draw(x0, y0+h, z0, _width/(_right-_left), _height/(_top-_bottom));
drawString *z = new drawString("Z", 16,colors+16); drawString z("Z", 16,colors+16);
z->draw(x0, y0, z0+h, _width/(_right-_left), _height/(_top-_bottom)); z.draw(x0, y0, z0+h, _width/(_right-_left), _height/(_top-_bottom));
glPopMatrix(); glPopMatrix();
glLineWidth(1); glLineWidth(1);
} }
......
...@@ -59,8 +59,7 @@ void drawGeomEdge(GEdge *e) ...@@ -59,8 +59,7 @@ void drawGeomEdge(GEdge *e)
double t_max = t_bounds.high(); double t_max = t_bounds.high();
// Create a VA for this edge // Create a VA for this edge
GLfloat *edge = (GLfloat *) malloc(N*3*sizeof(GLfloat)); std::vector<GLfloat> edge(N*3);
for(unsigned int i=0; i < N; i++) { for(unsigned int i=0; i < N; i++) {
double t = t_min + (double)i / (double)(N-1) * (t_max - t_min); double t = t_min + (double)i / (double)(N-1) * (t_max - t_min);
GPoint p = e->point(t); GPoint p = e->point(t);
...@@ -68,13 +67,12 @@ void drawGeomEdge(GEdge *e) ...@@ -68,13 +67,12 @@ void drawGeomEdge(GEdge *e)
} }
// Then print the VA // Then print the VA
glLineWidth((GLfloat)CTX::instance()->geom.lineWidth); glLineWidth((GLfloat)CTX::instance()->geom.lineWidth);
glVertexPointer(3, GL_FLOAT, 0, edge); glVertexPointer(3, GL_FLOAT, 0, &edge[0]);
glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_VERTEX_ARRAY);
glEnable(GL_LINE_SMOOTH); glEnable(GL_LINE_SMOOTH);
glDrawArrays(GL_LINE_STRIP, 0, N); glDrawArrays(GL_LINE_STRIP, 0, N);
glDisable(GL_LINE_SMOOTH); glDisable(GL_LINE_SMOOTH);
glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_VERTEX_ARRAY);
free(edge);
} }
void drawGeomFace(GFace *f) void drawGeomFace(GFace *f)
{ {
......
...@@ -18,7 +18,6 @@ ...@@ -18,7 +18,6 @@
9C92862D180D217B00AAABD4 /* icon_app_iphone_61.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928626180D217A00AAABD4 /* icon_app_iphone_61.png */; }; 9C92862D180D217B00AAABD4 /* icon_app_iphone_61.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928626180D217A00AAABD4 /* icon_app_iphone_61.png */; };
9C92862E180D217B00AAABD4 /* icon_app_iphone_retina_61.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928627180D217A00AAABD4 /* icon_app_iphone_retina_61.png */; }; 9C92862E180D217B00AAABD4 /* icon_app_iphone_retina_61.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928627180D217A00AAABD4 /* icon_app_iphone_retina_61.png */; };
9C92862F180D217B00AAABD4 /* icon_app_iphone_retina.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928628180D217B00AAABD4 /* icon_app_iphone_retina.png */; }; 9C92862F180D217B00AAABD4 /* icon_app_iphone_retina.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928628180D217B00AAABD4 /* icon_app_iphone_retina.png */; };
9C928633180D297C00AAABD4 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928632180D297C00AAABD4 /* Default-568h@2x.png */; };
9C95B7F61726C88E00C0CCE2 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9C95B7F51726C88E00C0CCE2 /* main.mm */; }; 9C95B7F61726C88E00C0CCE2 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9C95B7F51726C88E00C0CCE2 /* main.mm */; };
9C96083B1712C16300E1D4A0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C96083A1712C16300E1D4A0 /* UIKit.framework */; }; 9C96083B1712C16300E1D4A0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C96083A1712C16300E1D4A0 /* UIKit.framework */; };
9C96083D1712C16300E1D4A0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C96083C1712C16300E1D4A0 /* Foundation.framework */; }; 9C96083D1712C16300E1D4A0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C96083C1712C16300E1D4A0 /* Foundation.framework */; };
...@@ -304,7 +303,6 @@ ...@@ -304,7 +303,6 @@
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
9C9608AC1712EF0900E1D4A0 /* iPadStoryboard.storyboard in Resources */, 9C9608AC1712EF0900E1D4A0 /* iPadStoryboard.storyboard in Resources */,
9C928633180D297C00AAABD4 /* Default-568h@2x.png in Resources */,
9CC85C021790286C00F241C4 /* files in Resources */, 9CC85C021790286C00F241C4 /* files in Resources */,
9C92862D180D217B00AAABD4 /* icon_app_iphone_61.png in Resources */, 9C92862D180D217B00AAABD4 /* icon_app_iphone_61.png in Resources */,
9C92862A180D217B00AAABD4 /* icon_app_ipad_retina_61.png in Resources */, 9C92862A180D217B00AAABD4 /* icon_app_ipad_retina_61.png in Resources */,
......
#!/bin/sh #!/bin/sh
mkdir ios.iconset mkdir -p ios.iconset
# App icons (iPad) # App icons (iPad)
convert -scale 152 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_ipad_retina.png convert -scale 152 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_ipad_retina.png
convert -scale 76 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_ipad.png convert -scale 76 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_ipad.png
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment