Issue #2554 resolved

Error when merge

Konstantin Myakshin
created an issue
** Mercurial version (2.5.4).  TortoiseHg version (2.7.2)
** Command: 
** CWD: C:\Program Files\TortoiseHg
** Encoding: cp1251
** Extensions loaded: eol, extdiff, histedit, mq, rebase, convert
** Python version: 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)]
** Windows version: sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1')
** Processor architecture: x64
** Qt-4.8.4 PyQt-4.9.6 QScintilla-2.7
Traceback (most recent call last):
  File "tortoisehg\hgqt\fileview.pyo", line 657, in timerBuildDiffMarkers
RuntimeError: wrapped C/C++ object of type AnnotateView has been deleted
Traceback (most recent call last):
  File "tortoisehg\hgqt\fileview.pyo", line 657, in timerBuildDiffMarkers
RuntimeError: wrapped C/C++ object of type AnnotateView has been deleted

Comments (4)

  1. Yuya Nishihara

    fileview: manage deletion and connection of QTimer in C++ layer (fixes #2554)

    HgFileView has several reference cycles, so Python-part of HgFileView cannot be destroyed by refcounting.

    QTimer(self) makes sure to delete QTimer instance when C++-part of HgFileView is destroyed. Also, @pyqtSlot decorator will assist to clean up stale signal-slot connections.

    → <<cset 703149145eb7>>

  2. Log in to comment