[mythtv-commits] Ticket #11725: When using Qt painter, displaying some notifications will crash

MythTV noreply at mythtv.org
Mon Aug 5 03:34:33 UTC 2013


#11725: When using Qt painter, displaying some notifications will crash
--------------------------------------+-------------------------
     Reporter:  jyavenard             |      Owner:  stuartm
         Type:  Bug Report - General  |     Status:  new
     Priority:  blocker               |  Milestone:  0.27
    Component:  MythTV - General      |    Version:  Master Head
     Severity:  medium                |   Keywords:
Ticket locked:  0                     |
--------------------------------------+-------------------------
 with the use of AirPlay and notifications, a notification showing the
 album artwork and various metadata about the song being played is
 displayed...

 All works well using the OpenGL painter, but it fails when using the Qt
 painter.

 Behaviour is different depending on the platform used.

 On Ubutu 12.04 it crashes almost immediately as the artwork image is being
 displayed.
 On mac with Qt 4.8,4, the image isn't displayed and it shows a black spot
 where the image should be. It will crash later however in
 MythQtPainter::DeletePixmaps when the notification screen disappear from
 the display.

 The common problem is the MythUIMage was created using a QImage and not a
 path or a URL to the image. Directly a QImage.

 The MythUIImage got an image assigned as follow:

 {{{
             // We don't have a path to the image, but the image itself
             MythImage *img = new MythImage(m_artworkImage->GetPainter());
             img->Assign(m_image);
             m_artworkImage->SetImage(img);
             img->DecrRef();
 }}}

 where m_artworkImage is the MythUIImage obtained with:
 {{{
     m_artworkImage      = dynamic_cast<MythUIImage*>(GetChild("image"));
 }}}

 see:
 https://github.com/MythTV/mythtv/blob/master/mythtv/libs/libmythui/mythnotificationcenter.cpp#L322

 Attached are the two backtraces: one on ubuntu 12.04, the other on mac

--
Ticket URL: <http://code.mythtv.org/trac/ticket/11725>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list