GithubHelp home page GithubHelp logo

gtk-conf's People

Contributors

lxqtbot avatar redtide avatar

Watchers

 avatar  avatar  avatar

Forkers

lxqtbot

gtk-conf's Issues

Crash with the FontButton

When pressing the font button, the client crashes.

Backtrace below:

qt.core.qobject.connect: QObject::connect(QObject, QGtk2Dialog): invalid nullptr parameter
AddressSanitizer:DEADLYSIGNAL
=================================================================
==2219==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x75ccc21d9f74 bp 0x7ffdfbf24100 sp 0x7ffdfbf24088 T0)
==2219==The signal is caused by a READ memory access.
==2219==Hint: this fault was caused by a dereference of a high value address (see register values below).  Disassemble the provided pc to learn which register was used.
    #0 0x75ccc21d9f74 in gdk_window_set_modal_hint (/usr/lib/libgdk-3.so.0+0x4ef74) (BuildId: fde581a8253a35a3c983a82c595fabb2b4f8f862)
    #1 0x75ccbadae96a in QGtk2Dialog::show(QFlags<Qt::WindowType>, Qt::WindowModality, QWindow*) /usr/src/debug/qt6gtk2/qt6gtk2-0.2/src/qt6gtk2-qtplugin/qt6gtk2dialoghelpers.cpp:125
    #2 0x75ccc0746f0f in QDialogPrivate::setNativeDialogVisible(bool) (/usr/lib/libQt6Widgets.so.6+0x346f0f) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #3 0x75ccc0775e89  (/usr/lib/libQt6Widgets.so.6+0x375e89) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #4 0x75ccc07488ca in QDialog::exec() (/usr/lib/libQt6Widgets.so.6+0x3488ca) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #5 0x619e41442a3f in FontButton::onClicked() (/home/johan/tmp/gtk-conf/build/gtk-conf+0xfba3f) (BuildId: c149c04632ac40c3bbec37ed8058fa8809c28988)
    #6 0x619e414463de in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (FontButton::*)()>::call(void (FontButton::*)(), FontButton*, void**) (/home/johan/tmp/gtk-conf/build/gtk-conf+0xff3de) (BuildId: c149c04632ac40c3bbec37ed8058fa8809c28988)
    #7 0x619e41445fd6 in void QtPrivate::FunctionPointer<void (FontButton::*)()>::call<QtPrivate::List<>, void>(void (FontButton::*)(), FontButton*, void**) (/home/johan/tmp/gtk-conf/build/gtk-conf+0xfefd6) (BuildId: c149c04632ac40c3bbec37ed8058fa8809c28988)
    #8 0x619e41445c78 in QtPrivate::QCallableObject<void (FontButton::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (/home/johan/tmp/gtk-conf/build/gtk-conf+0xfec78) (BuildId: c149c04632ac40c3bbec37ed8058fa8809c28988)
    #9 0x75ccbf597608  (/usr/lib/libQt6Core.so.6+0x197608) (BuildId: 872d4adf2baec6d9d68181290c645df59a742af6)
    #10 0x75ccc05ff1ad  (/usr/lib/libQt6Widgets.so.6+0x1ff1ad) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #11 0x75ccc05ff6a7  (/usr/lib/libQt6Widgets.so.6+0x1ff6a7) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #12 0x75ccc060b984 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) (/usr/lib/libQt6Widgets.so.6+0x20b984) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #13 0x75ccc0547344 in QWidget::event(QEvent*) (/usr/lib/libQt6Widgets.so.6+0x147344) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #14 0x75ccc04fbfca in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/libQt6Widgets.so.6+0xfbfca) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #15 0x75ccc0500ac4 in QApplication::notify(QObject*, QEvent*) (/usr/lib/libQt6Widgets.so.6+0x100ac4) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #16 0x75ccbf53dae7 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/lib/libQt6Core.so.6+0x13dae7) (BuildId: 872d4adf2baec6d9d68181290c645df59a742af6)
    #17 0x75ccc04f4596 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) (/usr/lib/libQt6Widgets.so.6+0xf4596) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #18 0x75ccc055be36  (/usr/lib/libQt6Widgets.so.6+0x15be36) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #19 0x75ccc055d1bf  (/usr/lib/libQt6Widgets.so.6+0x15d1bf) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #20 0x75ccc04fbfca in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/libQt6Widgets.so.6+0xfbfca) (BuildId: 1acc2a5af715a07a49da84d032ad4729ba05d7dc)
    #21 0x75ccbf53dae7 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/lib/libQt6Core.so.6+0x13dae7) (BuildId: 872d4adf2baec6d9d68181290c645df59a742af6)
    #22 0x75ccbfb720e4 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (/usr/lib/libQt6Gui.so.6+0x1720e4) (BuildId: 40a99cfcaa356361693738c54ac28acf17c748bf)
    #23 0x75ccbfbdcfdb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt6Gui.so.6+0x1dcfdb) (BuildId: 40a99cfcaa356361693738c54ac28acf17c748bf)
    #24 0x75ccbffc1243  (/usr/lib/libQt6Gui.so.6+0x5c1243) (BuildId: 40a99cfcaa356361693738c54ac28acf17c748bf)
    #25 0x75ccc0cb8198  (/usr/lib/libglib-2.0.so.0+0x5a198) (BuildId: 0a2311dfbbc6c215dc36f4b6bdd2b4b6fbae55a2)
    #26 0x75ccc0d173be  (/usr/lib/libglib-2.0.so.0+0xb93be) (BuildId: 0a2311dfbbc6c215dc36f4b6bdd2b4b6fbae55a2)
    #27 0x75ccc0cb7711 in g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x59711) (BuildId: 0a2311dfbbc6c215dc36f4b6bdd2b4b6fbae55a2)
    #28 0x75ccbf783df3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt6Core.so.6+0x383df3) (BuildId: 872d4adf2baec6d9d68181290c645df59a742af6)
    #29 0x75ccbf545c7d in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt6Core.so.6+0x145c7d) (BuildId: 872d4adf2baec6d9d68181290c645df59a742af6)
    #30 0x75ccbf5416e7 in QCoreApplication::exec() (/usr/lib/libQt6Core.so.6+0x1416e7) (BuildId: 872d4adf2baec6d9d68181290c645df59a742af6)
    #31 0x619e414cab2c in main (/home/johan/tmp/gtk-conf/build/gtk-conf+0x183b2c) (BuildId: c149c04632ac40c3bbec37ed8058fa8809c28988)
    #32 0x75ccbee43ccf  (/usr/lib/libc.so.6+0x25ccf) (BuildId: c0caa0b7709d3369ee575fcd7d7d0b0fc48733af)
    #33 0x75ccbee43d89 in __libc_start_main (/usr/lib/libc.so.6+0x25d89) (BuildId: c0caa0b7709d3369ee575fcd7d7d0b0fc48733af)
    #34 0x619e41439084 in _start (/home/johan/tmp/gtk-conf/build/gtk-conf+0xf2084) (BuildId: c149c04632ac40c3bbec37ed8058fa8809c28988)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/usr/lib/libgdk-3.so.0+0x4ef74) (BuildId: fde581a8253a35a3c983a82c595fabb2b4f8f862) in gdk_window_set_modal_hint
==2219==ABORTING

gsettings keys and interfaces

Regarding Settings.cpp

  1. It looks like the gsettings keys are different to those in the .ini files.

In a terminal, use gsettings list-schemas and then for example gsettings list-keys org.gnome.desktop.interface
For example, you can get gtk-theme with gsettings get org.gnome.desktop.interface gtk-theme.

  1. It looks like there are different schemas to cover the settings in the gtk_conf(), for example: org.gnome.desktop.sound. I didn't realise that because I've only ever played with gtk/icon/cursor themes ๐Ÿ˜„

  2. Maybe the best approach is to create private variables like gsettings_desktop_sound_, etc.

  3. We might need to free the gsettings object(s) in the destructore. Not sure if it's g_free(), g_object_unref() or other. Might be worth running with ASAN for that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.