Opened 10 years ago

Closed 10 years ago

#8053 closed patch (fixed)

QObject::timer/thread problem in PlaybackBoxHelper

Reported by: Jeff Lu <jll544@…> Owned by: danielk
Priority: minor Milestone: 0.23
Component: MythTV - General Version: head
Severity: medium Keywords: win32
Cc: Ticket locked: no

Description

While a PlaybackBox? is active on an FE, the console prints "QObject::startTimer: timers cannot be started from another thread" and "QObject::killTimer: timers cannot be stopped from another thread". More precisely, for me start/killTimer prints an error in Windows but fails silently in Linux (verified by watching for free space queries with "-v network").

Error is caused by PlaybackBoxHelper::UpdateFreeSpace? attempting to manipulate timers while called from PBHEventHandler::event. The helper was created in a different thread than the event handler, so PBHEventHandler cannot start/kill timers belonging to PlaybackBoxHelper?.

Attached patch is one way to fix this problem: move the free space timer from PlaybackBoxHelper? to PBHEventHandler.

Attachments (2)

8053-pbbhelper.patch (3.5 KB) - added by Jeff Lu <jll544@…> 10 years ago.
8053-pbbhelper.2.patch (3.5 KB) - added by Jeff Lu <jll544@…> 10 years ago.
took too many letters out of the variable name

Download all attachments as: .zip

Change History (4)

Changed 10 years ago by Jeff Lu <jll544@…>

Attachment: 8053-pbbhelper.patch added

comment:1 Changed 10 years ago by danielk

Milestone: unknown0.23
Owner: changed from Isaac Richards to danielk
Status: newaccepted
Type: defectpatch

Changed 10 years ago by Jeff Lu <jll544@…>

Attachment: 8053-pbbhelper.2.patch added

took too many letters out of the variable name

comment:2 Changed 10 years ago by danielk

Resolution: fixed
Status: acceptedclosed

(In [23522]) Fixes #8053. Applies Qt timer fix for the update free space time. I broke this when introducing the PBBhelper class (after spending so much time fixing these issues for #5318, doh!)

Note: See TracTickets for help on using tickets.