Opened 9 years ago

Closed 9 years ago

#174 closed defect (fixed)

DIVE mode not always disabled on Panorama

Reported by: rudi Owned by:
Priority: minor Milestone: Qt 4.6.3
Component: QtGui Version: 4.6.2
Severity: low Keywords:
Cc:

Description

Our quick Panorama detection hack in gui/painting/qwindowsurface_pm.cpp fails in case the user has multiple GRADDs or GREEXTs installed. In this case the envoronment variables "C1" and "GREEXT" may contain several comma-separated words.

We should either check each word individually or choose a contains(...). Also it might be good to ignore the case.

Change History (7)

comment:1 Changed 9 years ago by rudi

  • Component changed from General to QtGui
  • Priority changed from major to minor

comment:2 Changed 9 years ago by dmik

Could you please provide examples of such C1/GREEXT values if you have them?

comment:3 Changed 9 years ago by rudi

This is an example of having WarpOverlay? installed in addition to SNAP.

rem SET C1=SDDGRADD,VRAMMNGR,WOVERLAY  <-- WO, v1.0
SET C1=SDDGRADD,WOVERLAY               <-- WO, v1.1
SET GREEXT=SDDGREXT

while this is something used on an earlier predecessor of WarpOverlay?.

SET C1=SDDGRADD,UNIDIVE
SET GREEXT=SDDGREXT,GREHOOK

Both show valid syntax for these variables, which cause the GRADD subsystem to load additional components (DLLs). The reason why I raised that ticket is, that one person on os2world.com reported massive drawing problems and it turned out the he had installed Panorama on top of an old installation of WarpOverlay?. Thus his "C1" was not what we expected.

I have not tried what happens when lowercase letters are used or when spaces are inserted between the words, but it certainly wouldn't hurt too much if we were prepared for that as well.

comment:4 Changed 9 years ago by rudi

Actually both lowercase writing as well as spaces between the comma and the words are allowed. The more I think about it, the more I come to the conclusion that it's probably better to check if the module "VBE2GRAD" is loaded (via DosQueryModuleHandle?) rather than guessing from the environment.

comment:5 Changed 9 years ago by diver

or we leave it like it is and add a section to the readme.
and hope that panorama finaly gets fixed, as this is a nasty bug anyway.

comment:6 Changed 9 years ago by dmik

  • Milestone changed from Qt Enhanced to Qt 4.6.3

comment:7 Changed 9 years ago by dmik

  • Resolution set to fixed
  • Status changed from new to closed

I went the DosQueryModuleHandle?() route as it saves us from parsing strings and also gets the actual information about the driver currently in use instead of what will be used on next reboot (which may not match if one has installed a different driver but didn't reboot yet). See r787 for details (I added checking for PANOGREX as well since I suppose VBE2GRAD may be in theory used by other drivers).

Note: See TracTickets for help on using tickets.