Mercurial > octave
changeset 31770:1d1eff97670e
revise parentage of GLWidget object (bug #63697)
* Canvas.h (Canvas): Revert previous change in inheritance. Inherit
from QObject, not QWidget.
* GLCanvas.h, GLCanvas.cc (GLWidget::GLWidget): Also accept QWidget
parent and pass it to QOpenGLWidget constructor.
(GLCanvas::GLCanvas): Pass QWidget parent to GLWidget constructor,
not, Canvas.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 24 Jan 2023 16:17:31 -0500 |
parents | 56223b5a01d4 |
children | 21f9b34eb893 |
files | libgui/graphics/Canvas.h libgui/graphics/GLCanvas.cc libgui/graphics/GLCanvas.h |
diffstat | 3 files changed, 8 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/graphics/Canvas.h Sun Jan 22 21:09:15 2023 -0500 +++ b/libgui/graphics/Canvas.h Tue Jan 24 16:17:31 2023 -0500 @@ -26,7 +26,7 @@ #if ! defined (octave_Canvas_h) #define octave_Canvas_h 1 -#include <QWidget> +#include <QObject> #include <QPoint> #include "event-manager.h" @@ -45,7 +45,7 @@ class interpreter; - class Canvas : public QWidget + class Canvas : public QObject { Q_OBJECT @@ -113,9 +113,8 @@ protected: - Canvas (octave::interpreter& interp, const graphics_handle& handle, - QWidget *parent) - : QWidget (parent), m_interpreter (interp), m_handle (handle), + Canvas (octave::interpreter& interp, const graphics_handle& handle) + : QObject (), m_interpreter (interp), m_handle (handle), m_redrawBlocked (false), m_mouseMode (NoMode), m_clickMode (false), m_eventMask (0), m_rectMode (false) { }
--- a/libgui/graphics/GLCanvas.cc Sun Jan 22 21:09:15 2023 -0500 +++ b/libgui/graphics/GLCanvas.cc Tue Jan 24 16:17:31 2023 -0500 @@ -37,8 +37,8 @@ OCTAVE_BEGIN_NAMESPACE(octave) - GLWidget::GLWidget (Canvas &parent_canvas) - : QOpenGLWidget (&parent_canvas), m_parent_canvas (parent_canvas), + GLWidget::GLWidget (Canvas& parent_canvas, QWidget *parent) + : QOpenGLWidget (parent), m_parent_canvas (parent_canvas), m_glfcns (), m_renderer (m_glfcns) { setFocusPolicy (Qt::ClickFocus); @@ -297,7 +297,7 @@ GLCanvas::GLCanvas (octave::interpreter& interp, const graphics_handle& gh, QWidget *parent) - : Canvas (interp, gh, parent), m_glwidget (new GLWidget (*this)) + : Canvas (interp, gh), m_glwidget (new GLWidget (*this, parent)) { } GLCanvas::~GLCanvas (void)