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

Do not delete MacPasteboard instance on exit, resolves #1543 #1607

Merged
merged 1 commit into from
Mar 3, 2018

Conversation

phoerious
Copy link
Member

@phoerious phoerious commented Mar 2, 2018

Description

Removes deletion of the MacPasteboard instance on exit, working around a crash due to a Qt bug. Resolves #1543.

Regression was introduced in 806248e

Motivation and context

QMacPasteboardMime subclasses are registered and de-registered using ctors/dtors, but after deleting an instance, Qt keeps a dangling pointer, which it tries to delete again on program exit (https://bugreports.qt.io/browse/QTBUG-54832).
Since our MacPasteboard instance lives for the whole program duration, anyway, it's no big loss to simply not delete it and let Qt or, at the latest, the OS take care of it.

How has this been tested?

KeePassXC doesn't crash anymore when opening and locking a database and then exiting the program with Cmd+Q.

Types of changes

  • ✅ Bug fix (non-breaking change which fixes an issue)

Checklist:

  • ✅ I have read the CONTRIBUTING document. [REQUIRED]
  • ✅ My code follows the code style of this project. [REQUIRED]
  • ✅ All new and existing tests passed. [REQUIRED]
  • ✅ I have compiled and verified my code with -DWITH_ASAN=ON. [REQUIRED]

@phoerious phoerious added this to the 2.3.1 milestone Mar 2, 2018
@phoerious phoerious requested a review from a team March 2, 2018 22:58
@phoerious phoerious force-pushed the hotfix/1543-macos-exit-crash branch from c1dcd76 to 8bbb0cc Compare March 2, 2018 23:00
Copy link
Contributor

@weslly weslly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this fixes the issue for me

@phoerious phoerious merged commit ee8499f into release/2.3.1 Mar 3, 2018
@phoerious phoerious deleted the hotfix/1543-macos-exit-crash branch March 3, 2018 01:33
phoerious added a commit that referenced this pull request Mar 6, 2018
- Fix unnecessary automatic upgrade to KDBX 4.0 and prevent challenge-response key being stripped [#1568]
- Abort saving and show an error message when challenge-response fails [#1659]
- Support inner stream protection on all string attributes [#1646]
- Fix favicon downloads not finishing on some websites [#1657]
- Fix freeze due to invalid STDIN data [#1628]
- Correct issue with encrypted RSA SSH keys [#1587]
- Fix crash on macOS due to QTBUG-54832 [#1607]
- Show error message if ssh-agent communication fails [#1614]
- Fix --pw-stdin and filename parameters being ignored [#1608]
- Fix Auto-Type syntax check not allowing spaces and special characters [#1626]
- Fix reference placeholders in combination with Auto-Type [#1649]
- Fix qtbase translations not being loaded [#1611]
- Fix startup crash on Windows due to missing SVG libraries [#1662]
- Correct database tab order regression [#1610]
- Fix GCC 8 compilation error [#1612]
- Fix copying of advanced attributes on KDE [#1640]
- Fix member initialization of CategoryListWidgetDelegate [#1613]
- Fix inconsistent toolbar icon sizes and provide higher-quality icons [#1616]
- Improve preview panel geometry [#1609]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants