tuxtxt bug giving blank screen

Games, Plugins, Utils, Tools, 3rdParty, etc...
mirakels
Neugieriger
Neugieriger
Beiträge: 17
Registriert: Montag 8. November 2004, 23:48

tuxtxt bug giving blank screen

Beitrag von mirakels »

Tuxtxt has a nasty bug that can cause to completely blank the screen when pressing the right key combination on the dreambox. The prblem, found by Rick Hunter, can be reproduced as follows:

Start tuxtxt, press mute, press info (or help) and screen goes black.

This is probably caused by the fact that 'help' has a special meaning while in transparent (mute) mode. See tuxtxt.c line 1467 and on.

For non-dreambox hardware it uses a tuxbox_get_vendor() call the get a vendor type, otherwise it just sets vendor_type to 0. For vendor types less than 3 it does some ioctls to, I think, scartbus settings. From other parts of the CVS I think the vendor type for dreambox seems to be 4 so this code should not be run!
But now it does, giving the blank screen problem.

I changed my local copy to just skip this ioctl stuff, and my tuxtxt is working fine now.

-Marcel
PLI in the box
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Beitrag von dbluelle »

This code does (on the DBox) switch to the scart output and back, so when you press info, your vcr-output is displayed. Another press on info should switch back to the DBox-Output.
I've never used (or needed) this function on my Dreambox (shame on me :cry: ), so I didn't recognize it doesn't work (switching to the vcr works, but not back...)
So you are right, this code should only be included for the DBox...

dbluelle
mirakels
Neugieriger
Neugieriger
Beiträge: 17
Registriert: Montag 8. November 2004, 23:48

Beitrag von mirakels »

I guess the following patrch will fix it. It basically says: if we don't know the vendor, just do not play with scart settings...

Code: Alles auswählen

--- tuxtxt.c.org        2005-07-03 22:22:34.000000000 +0200
+++ tuxtxt.c    2005-07-03 22:23:43.000000000 +0200
@@ -1470,7 +1470,7 @@
 #ifndef HAVE_DREAMBOX_HARDWARE
                                        int vendor = tuxbox_get_vendor() - 1;
 #else
-                                       int vendor = 0; /* values unknown, rely on requested values */
+                                       int vendor = 3; /* values unknown, rely on requested values */
 #endif

                                        if (vendor < 3) /* scart-parameters only known for 3 dboxes, FIXME: order must be like in info.h */