[Bug 33241] New: incorrect display of a combobox in a Clipper application

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Mar 18 07:49:52 CDT 2013


http://bugs.winehq.org/show_bug.cgi?id=33241

             Bug #: 33241
           Summary: incorrect display of a combobox in a Clipper
                    application
           Product: Wine
           Version: unspecified
          Platform: x86
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: -unknown
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: ironeman at tiscali.it
    Classification: Unclassified


As mentioned in http://forum.winehq.org/viewtopic.php?f=8&t=18198, I am using
16-bit Clipper/xBase programs. When I have a listbox, the field is not
correctly initialized, despite the list is ok.
Debugging my application, I have found that it is due to a strange memory
management. I start by saying that Clipper/xBase uses dynamic scoping, so the
value of a variable is the last assigned to it into the stack; a variable can
be local or global (prefixed by m->). When using the dialog that has the
problem, I use the activation command (Fivewin library):
m->mTipoDoc:=.... // assign the global variable m->mTipoDoc
activate DIALOG oDlg centered on init (SettaCombo())
function SettaCombo() // initialization code of the dialog
... // use the global variable m->mTipoDoc but, at this point, when using WINE,
the variable has lost its content and is empty

I solved the problem using a local variable that temporarily holds the value of
the global variable:
m->mTipoDoc:=.... // assign the global variable m->mTipoDoc
local tmpcod:=m->mTipoDoc // to solve the wine bug
activate DIALOG oDlg centered on init (SettaCombo(tmpcod))
function SettaCombo(val)
m->mTipoDoc:=val // to solve the wine bug
... // use the global variable m->mTipoDoc

Evidently the local variable is managed in a different way by WINE and the
error has disappered.

To test this behaviour, I wrote the attached sample program. Into the zip there
is a readme.pdf that explains how it works.
Best regards.

-- 
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