Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: VDR developer version 1.1.2



Thx for the advices.

Only for interest, why should a thread not access the OSD?

Klaus Schmidinger wrote:

>Mirko Günther wrote:
>
>>ok ... i've updated the package and the URL is the same
>>
>>http://people.freenet.de/renegart/vdr-tune-0.0.3.tgz
>>
>>Klaus Schmidinger wrote:
>>
>>>Mirko Günther wrote:
>>>
>>>>get you the same Error now?
>>>>
>>>Sorry, I don't have the time to fiddle around with your Makefiles.
>>>I just thought I'd give it a quick try, but since it didn't work right
>>>away I've set it aside.
>>>
>>>If you have a version that at least compiles "out of the box", let me know.
>>>
>>>Klaus
>>>
>>>>Klaus Schmidinger wrote:
>>>>
>>>>>Mirko Günther wrote:
>>>>>
>>>>>>you can find a Package at
>>>>>>http://people.freenet.de/renegart/vdr-tune-0.0.3.tgz
>>>>>>the plugin does not so mutch and may code are dead.
>>>>>>
>>>>>>it seems that's a bug in vdr (?!?), because when I run vdr (vers 1.0.2)
>>>>>>at background and run the developerversion (1.1.2) too, so that the 2nd
>>>>>>instance has no access to my dvb-device,  it's all ok. Hmmm...
>>>>>>
>>>>>Your package apparently wants to create an extra library in /usr/local/lib,
>>>>>which would require that I run the 'make' as root.
>>>>>
>>>>>Is there a specific reason why you are doing this?
>>>>>Can't you just create *ONE* plugin library file?
>>>>>
>>>>>If you want me to check your code, please make a version that
>>>>>compiles the way described in PLUGINS.html.
>>>>>
>>>>>Klaus
>>>>>
>>>>>>Klaus Schmidinger wrote:
>>>>>>
>>>>>>>Mirko Günther wrote:
>>>>>>>
>>>>>>>>Hmmm ... i've totaly rewriten my classes. now it works alone in a simple
>>>>>>>>testprogram.
>>>>>>>>But, when I include my classes in my plugin an create an object, i can't
>>>>>>>>delete it. every time i get a segmention fault.
>>>>>>>>can it be, that the compiler are corrupt or what can gets wrong. Has
>>>>>>>>someone any ideas?
>>>>>>>>
>>>>>>>How about showing us your code? ;-)
>>>>>>>Can it be downloaded from somewhere - preferably as a "plugin package"?
>>>>>>>
>>>>>>>Klaus
>>>>>>>
>
>Hi Mirko,
>
>I took a brief look at your code, but I'm afraid things are pretty weird there.
>Maybe I simply don't see what you are going at, but there are several points
>that appear strange to me.
>
>First of all: you should not try to access the OSD from a thread!
>OSD access should always be done from the foreground program. A thread
>can only prepare data that will eventually be presented by the foreground
>program (most likely in the ProcessKey() function). See how VDR does this in
>the cReplayControl class, for instance.
>
>When you are debugging a program that crashes, it is not a good idea to
>use statements like
>
>  cout << "done." << endl;
>
>to produce debug output, because those are _buffered_ and therefore you probably
>won't see the very last output (which is the one you actually want). Use statements like
>
>  fprintf(stderr, "done.\n");
>
>instead, which are unbuffered and will always produce the output, even if the program
>crashes afterwards.
>
>Doing so I found that in cScanMenu::~cScanMenu() the line 
>
>  delete Bar;
>
>doesn't return. Strangely the cProgressBar::~cProgressBar() apparently is never
>entered, so apparently at that point something is going south. The address of
>Bar is still the same as it was when Bar was constructed.
>
>Sorry I can't pinpoint the problem, but maybe the hint with 'fprintf' will
>get you further. You may have to completely modify your approach, anyway,
>since you can't access the OSD from the thread.
>
>Hope this helps
>Klaus
>





Home | Main Index | Thread Index