Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Qt 6.8.0 can cause stuck mouse hover states (pauseOnHoverDuration) #5704

Closed
4 tasks done
brian6932 opened this issue Nov 8, 2024 · 6 comments
Closed
4 tasks done
Labels
not our bug Behaviour that feels like a bug, but isn't really something we can work around. OS/Qt "bugs" qt6.8 Issues related to upgrading to Qt 6.8

Comments

@brian6932
Copy link
Contributor

brian6932 commented Nov 8, 2024

Checklist

  • I'm reporting a problem with Chatterino
  • I've verified that I'm running the most recent nightly build or stable release
  • I've looked for my problem on the wiki
  • I've searched the issues and pull requests for similar looking reports

Describe your issue

pauseOnHoverDuration was never really consistent, in the sense that sometimes it wouldn't show the icon, despite the cursor being on a split, it would still pause. However < Qt 6.8.0 doesn't get into a stuck paused state. I believe a minimum split size's required to reproduce this, so I included the relevant /settings/*.json files.

settings.json
{"misc":{"currentVersion":"2.5.1","lockNotebookLayout":false,"askOnTabVisibilityToggle":false},"behaviour":{"autorun":false,"pauseOnHoverDuration":-1.0},"hotkeys":{"addedDefaults":["change channel","close popup window","create clip","delete","emote picker","focus down","focus left","focus right","focus up","go to end of input","go to end of input with selection","go to start of input","go to start of input with selection","new popup window","new popup window from tab","new split","new tab","next message","open debug popup","open overlay","open quick switcher","open settings","popup accept","popup focus search box","popup reject","popup scroll down","popup scroll up","popup select last tab","popup select next tab","popup select previous tab","popup select tab #1","popup select tab #2","popup select tab #3","popup select tab #4","popup select tab #5","popup select tab #6","popup select tab #7","popup select tab #8","previous message","reconnect","reload emotes","remove tab","reopen split","scroll page down","scroll page up","scroll to bottom","scroll to top","select last tab","select next tab","select previous tab","select tab #1","select tab #2","select tab #3","select tab #4","select tab #5","select tab #6","select tab #7","select tab #8","send message","send message and keep text","show global search","show search","toggle local r9k","toggle overlay click-through","toggle tab visibility","zoom in","zoom out","zoom reset"],"close popup window":{"action":"delete","keySequence":"Esc","category":"popupWindow","arguments":[]},"popup accept":{"action":"accept","keySequence":"Return","category":"popupWindow","arguments":[]},"popup focus search box":{"action":"search","keySequence":"Ctrl+F","category":"popupWindow","arguments":[]},"popup reject":{"action":"reject","keySequence":"Esc","category":"popupWindow","arguments":[]},"popup scroll down":{"action":"scrollPage","keySequence":"PgDown","category":"popupWindow","arguments":["down"]},"popup scroll up":{"action":"scrollPage","keySequence":"PgUp","category":"popupWindow","arguments":["up"]},"popup select last tab":{"action":"openTab","keySequence":"Ctrl+9","category":"popupWindow","arguments":["last"]},"popup select next tab":{"action":"openTab","keySequence":"Ctrl+Tab","category":"popupWindow","arguments":["next"]},"popup select previous tab":{"action":"openTab","keySequence":"Ctrl+Shift+Tab","category":"popupWindow","arguments":["previous"]},"popup select tab #1":{"action":"openTab","keySequence":"Ctrl+1","category":"popupWindow","arguments":["0"]},"popup select tab #2":{"action":"openTab","keySequence":"Ctrl+2","category":"popupWindow","arguments":["1"]},"popup select tab #3":{"action":"openTab","keySequence":"Ctrl+3","category":"popupWindow","arguments":["2"]},"popup select tab #4":{"action":"openTab","keySequence":"Ctrl+4","category":"popupWindow","arguments":["3"]},"popup select tab #5":{"action":"openTab","keySequence":"Ctrl+5","category":"popupWindow","arguments":["4"]},"popup select tab #6":{"action":"openTab","keySequence":"Ctrl+6","category":"popupWindow","arguments":["5"]},"popup select tab #7":{"action":"openTab","keySequence":"Ctrl+7","category":"popupWindow","arguments":["6"]},"popup select tab #8":{"action":"openTab","keySequence":"Ctrl+8","category":"popupWindow","arguments":["7"]},"change channel":{"action":"changeChannel","keySequence":"Ctrl+R","category":"split","arguments":[]},"create clip":{"action":"createClip","keySequence":"Alt+X","category":"split","arguments":[]},"delete":{"action":"delete","keySequence":"Ctrl+W","category":"split","arguments":[]},"focus down":{"action":"focus","keySequence":"Alt+Down","category":"split","arguments":["down"]},"focus left":{"action":"focus","keySequence":"Alt+Left","category":"split","arguments":["left"]},"focus right":{"action":"focus","keySequence":"Alt+Right","category":"split","arguments":["right"]},"focus up":{"action":"focus","keySequence":"Alt+Up","category":"split","arguments":["up"]},"open debug popup":{"action":"debug","keySequence":"F10","category":"split","arguments":[]},"open overlay":{"action":"popupOverlay","keySequence":"Ctrl+Alt+N","category":"split","arguments":[]},"reconnect":{"action":"reconnect","keySequence":"Ctrl+F5","category":"split","arguments":[]},"reload emotes":{"action":"reloadEmotes","keySequence":"F5","category":"split","arguments":[]},"scroll page down":{"action":"scrollPage","keySequence":"PgDown","category":"split","arguments":["down"]},"scroll page up":{"action":"scrollPage","keySequence":"PgUp","category":"split","arguments":["up"]},"scroll to bottom":{"action":"scrollToBottom","keySequence":"Ctrl+End","category":"split","arguments":[]},"scroll to top":{"action":"scrollToTop","keySequence":"Ctrl+Home","category":"split","arguments":[]},"show global search":{"action":"showGlobalSearch","keySequence":"Ctrl+Shift+F","category":"split","arguments":[]},"show search":{"action":"showSearch","keySequence":"Ctrl+F","category":"split","arguments":[]},"toggle overlay click-through":{"action":"toggleOverlayInertia","keySequence":"Ctrl+Shift+U","category":"split","arguments":["all"]},"emote picker":{"action":"openEmotesPopup","keySequence":"Ctrl+E","category":"splitInput","arguments":[]},"go to end of input":{"action":"cursorToEnd","keySequence":"End","category":"splitInput","arguments":["withoutSelection"]},"go to end of input with selection":{"action":"cursorToEnd","keySequence":"Shift+End","category":"splitInput","arguments":["withSelection"]},"go to start of input":{"action":"cursorToStart","keySequence":"Home","category":"splitInput","arguments":["withoutSelection"]},"go to start of input with selection":{"action":"cursorToStart","keySequence":"Shift+Home","category":"splitInput","arguments":["withSelection"]},"next message":{"action":"nextMessage","keySequence":"Down","category":"splitInput","arguments":[]},"previous message":{"action":"previousMessage","keySequence":"Up","category":"splitInput","arguments":[]},"send message":{"action":"sendMessage","keySequence":"Return","category":"splitInput","arguments":[]},"send message and keep text":{"action":"sendMessage","keySequence":"Ctrl+Return","category":"splitInput","arguments":["keepInput"]},"new popup window":{"action":"popup","keySequence":"Ctrl+N","category":"window","arguments":["split"]},"new popup window from tab":{"action":"popup","keySequence":"Ctrl+Shift+N","category":"window","arguments":["window"]},"new split":{"action":"newSplit","keySequence":"Ctrl+T","category":"window","arguments":[]},"new tab":{"action":"newTab","keySequence":"Ctrl+Shift+T","category":"window","arguments":[]},"open quick switcher":{"action":"openQuickSwitcher","keySequence":"Ctrl+K","category":"window","arguments":[]},"open settings":{"action":"openSettings","keySequence":"Ctrl+P","category":"window","arguments":[]},"remove tab":{"action":"removeTab","keySequence":"Ctrl+Shift+W","category":"window","arguments":[]},"reopen split":{"action":"reopenSplit","keySequence":"Ctrl+G","category":"window","arguments":[]},"select last tab":{"action":"openTab","keySequence":"Ctrl+9","category":"window","arguments":["last"]},"select next tab":{"action":"openTab","keySequence":"Ctrl+Tab","category":"window","arguments":["next"]},"select previous tab":{"action":"openTab","keySequence":"Ctrl+Shift+Tab","category":"window","arguments":["previous"]},"select tab #1":{"action":"openTab","keySequence":"Ctrl+1","category":"window","arguments":["0"]},"select tab #2":{"action":"openTab","keySequence":"Ctrl+2","category":"window","arguments":["1"]},"select tab #3":{"action":"openTab","keySequence":"Ctrl+3","category":"window","arguments":["2"]},"select tab #4":{"action":"openTab","keySequence":"Ctrl+4","category":"window","arguments":["3"]},"select tab #5":{"action":"openTab","keySequence":"Ctrl+5","category":"window","arguments":["4"]},"select tab #6":{"action":"openTab","keySequence":"Ctrl+6","category":"window","arguments":["5"]},"select tab #7":{"action":"openTab","keySequence":"Ctrl+7","category":"window","arguments":["6"]},"select tab #8":{"action":"openTab","keySequence":"Ctrl+8","category":"window","arguments":["7"]},"toggle local r9k":{"action":"toggleLocalR9K","keySequence":"Ctrl+H","category":"window","arguments":[]},"toggle tab visibility":{"action":"setTabVisibility","keySequence":"Ctrl+U","category":"window","arguments":["toggle"]},"zoom in":{"action":"zoom","keySequence":"Ctrl++","category":"window","arguments":["in"]},"zoom out":{"action":"zoom","keySequence":"Ctrl+-","category":"window","arguments":["out"]},"zoom reset":{"action":"zoom","keySequence":"Ctrl+0","category":"window","arguments":["reset"]}},"appearance":{"showEmptyInputBox":false,"windowAlwaysOnTop":true,"tabVisibility":0}}
window-layout.json
{"windows":[{"emotePopup":{"height":0,"width":0,"x":0,"y":0},"height":1081,"tabs":[{"highlightsEnabled":true,"selected":true,"splits2":{"flexh":1,"flexv":1,"items":[{"flexh":1,"flexv":0.5971014492753624,"items":[{"data":{"name":"tmiloadtesting3","type":"twitch"},"filters":[],"flexh":1,"flexv":1,"moderationMode":false,"type":"split"},{"data":{"name":"twitchmedia_qs_10","type":"twitch"},"filters":[],"flexh":1,"flexv":1,"moderationMode":false,"type":"split"}],"type":"horizontal"},{"data":{"name":"","type":"twitch"},"filters":[],"flexh":1,"flexv":1.4028985507246376,"moderationMode":false,"type":"split"}],"type":"vertical"}}],"type":"main","width":598,"x":956,"y":114}]}

Screenshots

6.7.2

6.8.0

OS and Chatterino Version

6830427 built on 2024-11-04 with Qt 6.8.0, MSVC 194134123 Running on Windows 10 Version 21H2, kernel: 10.0.19044

@brian6932 brian6932 added the issue-report An issue reported by a user. label Nov 8, 2024
@Nerixyz
Copy link
Contributor

Nerixyz commented Nov 10, 2024

This only happens because the input box is "hidden". Reduced to

#include <QApplication>
#include <QWidget>
#include <cassert>

int main(int argc, char **argv) {
  QApplication app(argc, argv);

  QWidget parent(nullptr, Qt::FramelessWindowHint);
  parent.resize(200, 200);

  QWidget *emptyChild = new QWidget(&parent);
  emptyChild->setGeometry(0, 100, 200, 0);

  assert(parent.childAt(100, 100) == nullptr);
}

Filed QTBUG-131001.

@pajlada
Copy link
Member

pajlada commented Nov 11, 2024

@brian6932 could you check if this is fixed for you on latest nightly?

@brian6932
Copy link
Contributor Author

  1. <= 6.7.2 bug's fixed
  2. 6.8.0 bug's not fixed

@Nerixyz
Copy link
Contributor

Nerixyz commented Nov 11, 2024

pauseOnHoverDuration was never really consistent, in the sense that sometimes it wouldn't show the icon, despite the cursor being on a split, it would still pause.

Yea my PR only fixed this part. The other one is a Qt bug.

@pajlada pajlada added not our bug Behaviour that feels like a bug, but isn't really something we can work around. OS/Qt "bugs" qt6.8 Issues related to upgrading to Qt 6.8 and removed issue-report An issue reported by a user. labels Nov 11, 2024
@Nerixyz
Copy link
Contributor

Nerixyz commented Dec 2, 2024

Fixed in Qt 6.8.1.

@brian6932
Copy link
Contributor Author

Can no longer reproduce on 6.8.1. Thank you Tom Fors, very cool.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
not our bug Behaviour that feels like a bug, but isn't really something we can work around. OS/Qt "bugs" qt6.8 Issues related to upgrading to Qt 6.8
Projects
None yet
Development

No branches or pull requests

3 participants