diff --git a/Fltk/menuWindow.cpp b/Fltk/menuWindow.cpp index ad61d789c0b68f3a22be8e055ff0761cc229c184..3fad8f5dcf08b3d9dbbe4dc5d5258116ec0cb8b2 100644 --- a/Fltk/menuWindow.cpp +++ b/Fltk/menuWindow.cpp @@ -2639,6 +2639,9 @@ void menuWindow::setContext(contextItem *menu_asked, int flag) for(unsigned int i = 0; i < label.size(); i++) delete [] label[i]; label.clear(); + for(unsigned int i = 0; i < label2.size(); i++) + delete [] label2[i]; + label2.clear(); int width = win->w(); int popw = 4 * FL_NORMAL_SIZE + 3; @@ -2655,7 +2658,10 @@ void menuWindow::setContext(contextItem *menu_asked, int flag) b1->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE | FL_ALIGN_CLIP); b1->value(opt->visible); b1->copy_label(data->getName().c_str()); - b1->tooltip(data->getFileName().c_str()); + char *tmp2 = new char[data->getFileName().size() + 1]; + strcpy(tmp2, data->getFileName().c_str()); + b1->tooltip(tmp2); + label2.push_back(tmp2); char *tmp = new char[32]; sprintf(tmp, "[%d]@#-1>", nb); diff --git a/Fltk/menuWindow.h b/Fltk/menuWindow.h index cac6b15d6c7f54f1627aac773cada0810482118a..ec528ebd7d35576474930a156d7db82b1825639d 100644 --- a/Fltk/menuWindow.h +++ b/Fltk/menuWindow.h @@ -70,7 +70,7 @@ class menuWindow{ std::vector<Fl_Button*> toggle2; std::vector<popupButton*> popup; std::vector<popupButton*> popup2; - std::vector<char*> label; + std::vector<char*> label, label2; public: menuWindow(); void setContext(contextItem *menu_asked, int flag);