[Bug 14617] New: 3rd party treeview stopped working

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jul 24 06:13:20 CDT 2008


           Summary: 3rd party treeview stopped working
           Product: Wine
           Version: 1.1.1
          Platform: PC
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: -unknown
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: brendan.dowds at sciencesoft.com
                CC: julliard at winehq.org

Hello all,

I am a developer for a software company trying to get our software to work on
WINE. Unfortunately the third party treeview control we rely heavily on fails
to work properly. Namely in that we can not drag items from the treeview. 

A small test program (TV_Test.exe), written in VB6, is attached to demostrate
this behaviour. Upon clicking on a node the program performs a HitTest to
determine what type of node it is and its subsequent behaviour
(expand/collapse, allowing dragging, etc.)

To duplicate place the attached folder in the 'Program Files' folder (or where
you please) and run the exe, through WINE obviously. Add a node (or several)
via the button then click on a node. The message box should then tell you if
the test has been passed or not. A successful test should also change to be a
couple of right pointing arrows, and the direction of the arrow in the treeview
node (if it was the lowest branch level). A failed test reports an error
("Error: Error in loading DLL (No.48) In ClickedNode") in the message box.

Now, this is where I know I'm breaking the rules. But this test program and our
main program (which I hope to at to the Apps Database today) both need wine
tricks to have been run, specifically vcrun6, for redistribution reasons.
However, I've already emailled Dan Kegel and he believes this may not be
necessary. I digress.

The test program always failed without winetricks vcrun6, but after it (and
before the bad revision) it worked. (Strictly you do not need to run the full
vcrun6, you need to remove the msvcrt, oleaut32 and olepro32.dlls from the
drive_c/windows/sysem32/ folder and run the vcredist.exe through WINE.) 

A colleague looked into this problem in more detail hoping to solve it
ourselves (how wrong we were) and we believe that although we use winetricks,
in this case it actually helps expose a bug rather than the bug being something
intrinsic in what we use winetricks for i.e. replace built-in dlls with native

So in summary, running the test program without vcrun6 has always failed, with
vcrun6 it used to work but now doesn't.

Some more relevant information (I hope):
 - I pulled down the latest git repository this morning (SHA1 ID:
2f445e4e4a74bda3034d993226f05073e777eb85) and tested it, the bug is still there
 - I'm running FC6
 - gcc version is 4.1.2
 - command to run the program is '"wine C:\Program Files\Treeview
Test\TV_Test.exe"', assuming the folder is located in 'Program Files'
 - A git-bisect showed the first bad revision to be between 0.9.37 and 0.9.38
(SHA1 ID:2f445e4e4a74bda3034d993226f05073e777eb85)
 - Further investigation found that by commenting out just two lines the
program worked. And still works in the lastest version. The two lines are in
load_library of /dlls/kernel32/module.c and are shown in the attached file
 - The git log for the bad revision is attached.
 - My intention was to also attach the output of WINEDEBUG but with the below
 $ WINEDEBUG=+relay wine "C:\windows\Program Files\Treeview Test\TV_Test.exe"
  I get:
 WINEDEBUG=+relay: Command not found.

Look forward to hearing anything and many thanks.

Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.

More information about the wine-bugs mailing list