diff --git a/src/Gui/Quarter/QuarterWidgetP.cpp b/src/Gui/Quarter/QuarterWidgetP.cpp index 0a33dca4d..bc5ae394b 100644 --- a/src/Gui/Quarter/QuarterWidgetP.cpp +++ b/src/Gui/Quarter/QuarterWidgetP.cpp @@ -93,8 +93,8 @@ QuarterWidgetP::QuarterWidgetP(QuarterWidget * masterptr, const QGLWidget * shar QuarterWidgetP::~QuarterWidgetP() { - //TODO:fix this function call - //removeFromCacheContext(this->cachecontext, this->master); + QGLWidget* glMaster = static_cast(this->master->viewport()); + removeFromCacheContext(this->cachecontext, glMaster); if (this->contextmenu) { delete this->contextmenu; } @@ -135,14 +135,14 @@ QuarterWidgetP::findCacheContext(QuarterWidget * widget, const QGLWidget * share for (int j = 0; j < cachecontext->widgetlist.getLength(); j++) { if (cachecontext->widgetlist[j] == sharewidget) { - cachecontext->widgetlist.append((const QGLWidget*) widget); + cachecontext->widgetlist.append(static_cast(widget->viewport())); return cachecontext; } } } QuarterWidgetP_cachecontext * cachecontext = new QuarterWidgetP_cachecontext; cachecontext->id = SoGLCacheContextElement::getUniqueCacheContext(); - cachecontext->widgetlist.append((const QGLWidget*) widget); + cachecontext->widgetlist.append(static_cast(widget->viewport())); cachecontext_list->append(cachecontext); return cachecontext;