* [PATCH] KsGLWidget: Fix modelReset() signaling, rename update to updateGeom
@ 2024-01-11 19:07 Benjamin ROBIN
0 siblings, 0 replies; only message in thread
From: Benjamin ROBIN @ 2024-01-11 19:07 UTC (permalink / raw)
To: y.karadz; +Cc: linux-trace-devel, Benjamin ROBIN
Fix segfault introduced by the migration to Qt6.
There was a public update() function in KsGLWidget class which overrides
QWidget::update(). The QAbstractTableModel::modelReset signal was connected
to the QWidget::update slot using "old" connect syntax. This was working
since QWidget::update was declared as a slot, and registered in QWidget
meta information.
When migrating to Qt6, the new connect syntax was used, which accidentally
connect the KsGLWidget::update function instead of QWidget::update.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=218350
Signed-off-by: Benjamin ROBIN <dev@benjarobin.fr>
---
src/KsGLWidget.cpp | 4 ++--
src/KsGLWidget.hpp | 2 +-
src/KsTraceGraph.cpp | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/KsGLWidget.cpp b/src/KsGLWidget.cpp
index 023d1c8..9e3dac3 100644
--- a/src/KsGLWidget.cpp
+++ b/src/KsGLWidget.cpp
@@ -53,7 +53,7 @@ KsGLWidget::KsGLWidget(QWidget *parent)
setMouseTracking(true);
connect(&_model, &QAbstractTableModel::modelReset,
- this, &KsGLWidget::update);
+ this, qOverload<>(&KsGLWidget::update));
}
void KsGLWidget::_freeGraphs()
@@ -89,7 +89,7 @@ void KsGLWidget::initializeGL()
ksplot_init_font(&_font, 15, TT_FONT_FILE);
_labelSize = _getMaxLabelSize() + FONT_WIDTH * 2;
- update();
+ updateGeom();
}
/**
diff --git a/src/KsGLWidget.hpp b/src/KsGLWidget.hpp
index 03bd5eb..1c6253f 100644
--- a/src/KsGLWidget.hpp
+++ b/src/KsGLWidget.hpp
@@ -86,7 +86,7 @@ public:
void reset();
/** Reprocess all graphs. */
- void update() {resizeGL(width(), height());}
+ void updateGeom() {resizeGL(width(), height());}
void mousePressEvent(QMouseEvent *event);
diff --git a/src/KsTraceGraph.cpp b/src/KsTraceGraph.cpp
index 65e5a79..f80477d 100644
--- a/src/KsTraceGraph.cpp
+++ b/src/KsTraceGraph.cpp
@@ -614,7 +614,7 @@ void KsTraceGraph::updateGeom()
* widget is extended to maximum.
*/
- _glWindow.update();
+ _glWindow.updateGeom();
}
/**
--
2.43.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2024-01-11 19:15 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-11 19:07 [PATCH] KsGLWidget: Fix modelReset() signaling, rename update to updateGeom Benjamin ROBIN
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.