[Notifications] Don't restart hide timer on reposition while dragging
ClosedPublic

Authored by broulik on Jan 8 2018, 3:18 PM.

Details

Summary

We checked for dragging in onContainsMouseChanged but not here.

CCBUG: 388684

Test Plan

Emitted a notification, then saved a screenshot, started dragging, the top notification disappeared and mine stayed open. Before it would also close after a while and then crash.
Still auto-hides if shown with no user interaction.

Diff Detail

Repository
R120 Plasma Workspace
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
broulik created this revision.Jan 8 2018, 3:18 PM
Restricted Application added a project: Plasma. · View Herald TranscriptJan 8 2018, 3:18 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
broulik requested review of this revision.Jan 8 2018, 3:18 PM

I don't understand how this relates to the bug.

We're starting a drag; if the drag's blocking we won't be processing onYChanged?
If it's not blocking..then what's the drag got to do with this?

And as a behavioural change, why wouldn't you want the popup to remain open for longer (timer.restart) whilst you're dragging?

We're starting a drag; if the drag's blocking we won't be processing onYChanged?
If it's not blocking..then what's the drag got to do with this?

If I drop, then it tries to access the drag area or drag to get the data or emit signals and then it blows up because the popup is no longer there.

why wouldn't you want the popup to remain open for longer (timer.restart) whilst you're dragging?

Because I do timer.stop() (lines 101ff) when I start dragging, I dont want it to ever go away while dragging.

broulik edited the summary of this revision. (Show Details)Jan 9 2018, 9:45 AM
davidedmundson accepted this revision.Jan 9 2018, 1:29 PM

Because I do timer.stop() (lines 101ff) when I start dragging, I dont want it to ever go away while dragging.

So semantically it's not about whether we restart a running timer, but more about making sure we don't start a stoppped timer.

As an improvement that happens to also avoid a bug that's absolutely fine. +1

But:

If I drop, then it tries to access the drag area or drag to get the data or emit signals and then it blows up because the popup is no longer there.

If you're trying to say it's a Qt bug, then it need* a Qt bug report. Even if it's just the trace from bugzilla.

Also the popup is there, but it resets the thunbmail strip loader which owns the mouse area which owns the drag. Though normally I've only seen this sort of crash when we delete something cross engines

This revision is now accepted and ready to land.Jan 9 2018, 1:29 PM
This revision was automatically updated to reflect the committed changes.