diff --git a/Fltk/contextWindow.cpp b/Fltk/contextWindow.cpp index 846c574b2f8752ce0e3e9ec0fb33a54ceddc510b..bebdccf86e44678da936c7728518890c4a1dc5d1 100644 --- a/Fltk/contextWindow.cpp +++ b/Fltk/contextWindow.cpp @@ -656,6 +656,7 @@ static void selection_mode_cb(Fl_Widget *w, void *data) for(unsigned int i = 0; i < FlGui::instance()->graph.size(); i++) for(unsigned int j = 0; j < FlGui::instance()->graph[i]->gl.size(); j++) FlGui::instance()->graph[i]->gl[j]->changeSelection = mode; + drawContext::global()->draw(); } transformContextWindow::transformContextWindow(int deltaFontSize) diff --git a/Fltk/graphicWindow.cpp b/Fltk/graphicWindow.cpp index aa5b3d4a5e28f84838bee2733cf37f51a262ad6e..71e3295f0372cbce6b3296d48c3d61a2996b53c8 100644 --- a/Fltk/graphicWindow.cpp +++ b/Fltk/graphicWindow.cpp @@ -1565,7 +1565,15 @@ static void geometry_elementary_boolean_cb(Fl_Widget *w, void *data) "[Press 'e' to end selection, 'u' to undo last selection or " "'q' to abort]"); - char ib = FlGui::instance()->selectEntity(ENT_ALL); + int type = ENT_ALL; + switch(FlGui::instance()->transformContext->choice->value()){ + case 1: type = ENT_POINT; break; + case 2: type = ENT_LINE; break; + case 3: type = ENT_SURFACE; break; + case 4: type = ENT_VOLUME; break; + } + + char ib = FlGui::instance()->selectEntity(type); if(ib == 'l') { for(unsigned int i = 0; i < FlGui::instance()->selectedEdges.size(); i++){ if(FlGui::instance()->selectedEdges[i]->getSelection() != 1){