[mythtv-commits] mythtv commit: r6984 by danielk

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Wed Aug 3 01:06:40 UTC 2005


      Author: danielk
        Date: 2005-08-03 01:06:40 +0000 (Wed, 03 Aug 2005)
New Revision: 6984
   Changeset: http://cvs.mythtv.org/trac/changeset/6984

Modified:

   trunk/mythtv/libs/libmyth/mythcontext.cpp

Log:

Fixes segfault in mythtv-setup caused by [6977].

The problem is that GetMainWindow() is depends on the private
context being set, but this is called withing the private context's
constructor. The same thing happens in the backend even if you move
the ScreenSaverControl() to the private context's Init().

So I moved it to Init() and disabled it when there is no GUI.
I'm assuming the backend wasn't intended to control the 
screensaver anyway.

Below is the relevant portion of the backtrace on mythtv-setup

#0  0xb7245407 in MythContext::GetMainWindow (this=0x8179270) at mythcontext.cpp:2217
#1  0xb7366416 in LircEventLock::lock (this=0xbfffd880) at lircevent.cpp:22
#2  0xb7366395 in LircEventLock (this=0xbfffd880, lock_events=true) at lircevent.cpp:11
#3  0xb72951ae in myth_system (command=@0xbfffd8f0, flags=0) at util.cpp:798
#4  0xb736ad6c in ScreenSaverX11 (this=0x8179860) at screensaver-x11.cpp:37
#5  0xb7341b08 in ScreenSaverControl::get () at screensaver.cpp:21
#6  0xb723157f in MythContextPrivate (this=0x81793c0, lparent=0x8179270) at mythcontext.cpp:191
#7  0xb72377ce in MythContext::Init (this=0x8179270, gui=true) at mythcontext.cpp:695
#8  0x0805772f in main (argc=1, argv=0xbfffdd74) at main.cpp:268







More information about the mythtv-commits mailing list