From fc7cefee4c02da1e20ec8609ba049974a6a3f336 Mon Sep 17 00:00:00 2001 From: Bram Stolk Date: Fri, 27 Sep 2024 14:42:52 -0700 Subject: [PATCH] fix(iv): Initialize variables before we use them. (#4457) This addresses: ``` ==126424== Conditional jump or move depends on uninitialised value(s) ==126424== at 0x16A24E: IvGL::mouseMoveEvent(QMouseEvent*) (src/iv/ivgl.cpp:1208) ==126424== by 0x5FCD5F6: QWidget::event(QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6.4.2) ==126424== by 0x5F843AF: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6.4.2) ==126424== by 0x5F7D2C6: QApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6.4.2) ==126424== by 0x6E35447: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt6Core.so.6.4.2) ==126424== by 0x5F79D7D: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer&, bool, bool) (in /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6.4.2) ==126424== by 0x5FDBAD6: ??? (in /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6.4.2) ==126424== by 0x5FDCE74: ??? (in /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6.4.2) ==126424== by 0x5F843AF: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6.4.2) ==126424== by 0x6E35447: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt6Core.so.6.4.2) ==126424== by 0x6762DE6: QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (in /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6.4.2) ==126424== by 0x67AD5CB: QWindowSystemInterface::sendWindowSystemEvents(QFlags) (in /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6.4.2) ==126424== Uninitialised value was created by a heap allocation ==126424== at 0x4846FA3: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==126424== by 0x11F509: ImageViewer::ImageViewer(bool, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) (src/iv/imageviewer.cpp:140) ==126424== by 0x17D248: main (src/iv/ivmain.cpp:127) ``` With this patch, this particular valgrind error goes away. Tested by running valgrind on iv before and after change. Signed-off-by: Bram Stolk --- src/iv/ivgl.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/iv/ivgl.cpp b/src/iv/ivgl.cpp index 889940e001..f6ace5b12f 100644 --- a/src/iv/ivgl.cpp +++ b/src/iv/ivgl.cpp @@ -62,6 +62,9 @@ IvGL::IvGL(QWidget* parent, ImageViewer& viewer) , m_centerx(0) , m_centery(0) , m_dragging(false) + , m_mousex(0) + , m_mousey(0) + , m_drag_button(Qt::NoButton) , m_use_shaders(false) , m_use_halffloat(false) , m_use_float(false)