--===============4904386185579309846== Content-Type: multipart/alternative; boundary="===============1298440279269198630==" --===============1298440279269198630== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103247/#review8561 ----------------------------------------------------------- This review has been submitted with commit a4a4679d0e82d88392c2b6d9259ed441= 921914c4 by Aaron Seigo to branch master. - Commit Hook On Nov. 26, 2011, 3:43 p.m., Jonathan Marten wrote: > = > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/103247/ > ----------------------------------------------------------- > = > (Updated Nov. 26, 2011, 3:43 p.m.) > = > = > Review request for Plasma. > = > = > Description > ------- > = > The referenced bug describes a Plasma crash caused by a TaskSource (used = by the "tasks" data engine) retaining a pointer to a Task. When its associ= ated window is closed, the Task is deleted but somehow the TaskSource is no= t. This causes a dangling pointer crash when the TaskSource next gets the = currentDesktopChanged() signal (and presumably also currentActivityChanged(= ) if activities are in use). > = > The source should get deleted in DataEngine::removeSource() via deleteLat= er(). This does not seem to work - if a single shot timer is used instead = (as also in commits 0f40b577 and 52783c6c), the TaskSource gets deleted cor= rectly and the crash does not happen. > = > (This also resulted in a TaskSource memory leak). > = > = > This addresses bug 286353. > http://bugs.kde.org/show_bug.cgi?id=3D286353 > = > = > Diffs > ----- > = > plasma/dataengine.cpp c33b103 = > = > Diff: http://git.reviewboard.kde.org/r/103247/diff/diff > = > = > Testing > ------- > = > Verified that the TaskSource destructor is never called by adding a kDebu= g() there. > = > Built kdelibs and kdeworkspace with this change, used for day-to-day work= (when the crash used to happen quite regularly) and with the crash scenari= o described in the bug. The TaskSource destructor is called as expected, a= nd the crash does not happen. > = > = > Thanks, > = > Jonathan Marten > = > --===============1298440279269198630== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://git.revie= wboard.kde.org/r/103247/

This revie=
w has been submitted with commit a4a4679d0e82d88392c2b6d9259ed441921914c4 b=
y Aaron Seigo to branch master.

- Commit


On November 26th, 2011, 3:43 p.m., Jonathan Marten wrote:

Review request for Plasma.
By Jonathan Marten.

Updated Nov. 26, 2011, 3:43 p.m.

Descripti= on

The referenced bug describes a Plasma crash caused by a Task=
Source (used by the "tasks" data engine) retaining a pointer to a=
 Task.  When its associated window is closed, the Task is deleted but someh=
ow the TaskSource is not.  This causes a dangling pointer crash when the Ta=
skSource next gets the currentDesktopChanged() signal (and presumably also =
currentActivityChanged() if activities are in use).

The source should get deleted in DataEngine::removeSource() via deleteLater=
().  This does not seem to work - if a single shot timer is used instead (a=
s also in commits 0f40b577 and 52783c6c), the TaskSource gets deleted corre=
ctly and the crash does not happen.

(This also resulted in a TaskSource memory leak).

Testing <= /h1>
Verified that the TaskSource destructor is never called by a=
dding a kDebug() there.

Built kdelibs and kdeworkspace with this change, used for day-to-day work (=
when the crash used to happen quite regularly) and with the crash scenario =
described in the bug.  The TaskSource destructor is called as expected, and=
 the crash does not happen.
Bugs: 286353

Diffs=

  • plasma/dataengine.cpp (c33b103)

View Diff

--===============1298440279269198630==-- --===============4904386185579309846== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel --===============4904386185579309846==--