Fix display problems on Linux

This commit is contained in:
Gaute Lindkvist 2018-11-27 17:04:55 +01:00
parent 6f9cac7201
commit f2c7f2ce80
4 changed files with 18 additions and 3 deletions

View File

@ -143,6 +143,7 @@ Rim3dView::Rim3dView(void)
//--------------------------------------------------------------------------------------------------
Rim3dView::~Rim3dView(void)
{
m_viewer->clearRimView();
removeMdiWindowFromMdiArea();
deleteViewWidget();

View File

@ -1078,7 +1078,7 @@ void RiuMainWindow::removeViewer(QWidget* viewer)
//--------------------------------------------------------------------------------------------------
void RiuMainWindow::addViewer(QWidget* viewer, const RimMdiWindowGeometry& windowsGeometry)
{
RiuMdiSubWindow* subWin = new RiuMdiSubWindow(m_mdiArea);
RiuMdiSubWindow* subWin = new RiuMdiSubWindow;
subWin->setAttribute(Qt::WA_DeleteOnClose); // Make sure the contained widget is destroyed when the MDI window is closed
subWin->setWidget(viewer);
@ -1108,7 +1108,9 @@ void RiuMainWindow::addViewer(QWidget* viewer, const RimMdiWindowGeometry& windo
{
initialStateMaximized = true;
}
m_mdiArea->addSubWindow(subWin);
if (subWindowPos.x() > -1)
{
subWin->move(subWindowPos);
@ -1119,6 +1121,10 @@ void RiuMainWindow::addViewer(QWidget* viewer, const RimMdiWindowGeometry& windo
{
subWin->showMaximized();
}
else
{
subWin->showNormal();
}
slotRefreshViewActions();
}

View File

@ -214,6 +214,14 @@ RiuViewer::~RiuViewer()
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuViewer::clearRimView()
{
m_rimView = nullptr;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -70,7 +70,7 @@ class RiuViewer : public caf::Viewer, public RiuInterfaceToViewWindow
public:
RiuViewer(const QGLFormat& format, QWidget* parent);
~RiuViewer() override;
void clearRimView();
void setDefaultView();
cvf::Vec3d pointOfInterest();
void setPointOfInterest(cvf::Vec3d poi);