http://bugs.winehq.org/show_bug.cgi?id=7910
thestig(a)google.com changed:
What |Removed |Added
----------------------------------------------------------------------------
URL| |http://www.dreamfall.com/
------- Additional Comments From thestig(a)google.com 2007-13-04 13:47 -------
Does the problem occur in the trial? If so, perhaps someone else can do the
regression testing.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
--- wine-bugs(a)winehq.org wrote:
From: Wine Bugs <wine-bugs(a)winehq.org>
To: display(a)kred.com
Subject: [Bug 8035] VB run error
Date: Fri, 13 Apr 2007 12:39:47 -0500
http://bugs.winehq.org/show_bug.cgi?id=8035
------- Additional Comments From dank(a)kegel.com 2007-13-04 12:39 -------
Harry wrote me to say this was a very small Visual Basic 4
program he wrote himself.
Harry, can you attach or send me the source code and executable for
the program?
Sorry, lost the source code.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.
_____________________________________________________________
Get your own *free* email address like this one from www.OwnEmail.com
http://bugs.winehq.org/show_bug.cgi?id=7910
------- Additional Comments From b.buschinski(a)web.de 2007-13-04 13:15 -------
the problem was introduced between
wine 0.9.29 (2007-01-09)
and wine 0.9.30 (2007-01-25)
wine 0.9.29 works fine and .30 has the problem
I am a little bit scared to do further regression testing now, but maybe I'll
look deeper into this tonight :)
and by the way the problem is still present in wine 0.9.35
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=8035
------- Additional Comments From dank(a)kegel.com 2007-13-04 12:39 -------
Harry wrote me to say this was a very small Visual Basic 4
program he wrote himself.
Harry, can you attach or send me the source code and executable for
the program?
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=8036
------- Additional Comments From sick_soul(a)yahoo.it 2007-13-04 12:32 -------
btw, I noticed that test case 0 in test_profile_int,
does not work anymore with current cvs.
This remains true after applying my patch.
iirc it originally worked with dlls/kernel32/profile.c revision 1.4,
against which I made the patch.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
--- wine-bugs(a)winehq.org wrote:
From: Wine Bugs <wine-bugs(a)winehq.org>
To: display(a)kred.com
Subject: [Bug 8035] VB run error
Date: Fri, 13 Apr 2007 05:57:34 -0500
http://bugs.winehq.org/show_bug.cgi?id=8035
------- Additional Comments From dank(a)kegel.com 2007-13-04 05:57 -------
And, if that doesn't help, try running winecfg and setting wine
to emulate Windows NT instead of Windows 2000.
Tried it, no go. Same error.
What VB app is this? What version of VB does it use?
Sorry, I thought the compiler was gone. Found it, VB 4.0.
Is a trial version of the app available?
Just a small program I wrote long ago. Generates radom passwords. You want it I will send.
Thanks.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.
_____________________________________________________________
Get your own *free* email address like this one from www.OwnEmail.com
http://bugs.winehq.org/show_bug.cgi?id=8033
------- Additional Comments From focht(a)gmx.net 2007-13-04 09:32 -------
Created an attachment (id=5758)
--> (http://bugs.winehq.org/attachment.cgi?id=5758&action=view)
in-depth crash analysis of TOPO 4.x binary
Hello,
seems there is no demo/trial from website available, so i downloaded the
"upgrade" from http://maps.nationalgeographic.com/TOPO/
Though the upgrade requires 4.x full version installed, i "convinced" the
installer to work.
Analysis would be too large to post here, so i refer to problematic code
snippets here.
To see in-depth analysis scratch pad, consult the attachment.
Basically it's a combination of wine bug in common dialog (printing) module and
the way the application is coded (error handling).
The application makes heavy use of MFC 7.x (native dlls).
--- snip pseudo app code ---
CPageSetupDialog dlg( PSD_RETURNDEFAULT | PSD_NOWARNING, NULL);
if(dlg.DoModal() != IDOK)
return;
--- snip pseudo app code ---
Returns on both platforms (windows and wine) "IDOK".
Printer subsystems dlls are loaded on demand (in DoModal() call)
The next snippet is the culprit:
--- snip pseudo app code ---
if( pThis->m_hDevMode != NULL)
{
::GlobalFree( pThis->m_hDevMode);
}
if( pThis->m_hDevNames != NULL)
{
::GlobalFree( pThis->m_hDevMode);
}
pThis->m_hDevMode = m_psd.hDevMode;
pThis->m_hDevNames = m_psd.hDevNames;
pThis->m_Name = dlg.GetDeviceName();
// fill in pThis->PrinterCapsData1...4
get_device_caps_from_printer_dc( dlg);
PDEVMODEA* pDevMode = ::GlobalLock( pThis->m_hDevMode);
// crash here deref NULL ptr
pDevMode->dmOrientation = (pThis->IsPortraitOrientation != 0) ?
DMORIENT_PORTRAIT : DMORIENT_LANDSCAPE;
--- snip pseudo app code ---
The application expects PAGESETUPDLG data structure (subclassed data member) to
be correctly filled in when doing CPageSetupDialog::DoModal() + dlgResult ==
IDOK.
But neither m_psd.hDevMode nor m_psd.hDevNames have meaningful values in wine
(NULL ptr).
Even the "query default printer" does not return any printers/data to client at
all.
Windows returns valid struct handles (e.g. filled DEVMODEA and DEVNAMES).
The application dies on first dereference of one of these data pointers after
locking the handles (pDevMode->dmOrientation).
Of course one can argue its bad error handling to rely on data being valid all
the time (even "fallback/default" case).
Armed with this knowledge, i put additional trace code into wine and found the
cause.
--- snip dlls/comdlg32/printdlg.c ---
BOOL WINAPI PageSetupDlgA(LPPAGESETUPDLGA setupdlg)
{
.....
/* Initialize default printer struct. If no printer device info is specified
retrieve the default printer data. */
memset(&pdlg,0,sizeof(pdlg));
pdlg.lStructSize = sizeof(pdlg);
if (setupdlg->hDevMode && setupdlg->hDevNames) {
pdlg.hDevMode = setupdlg->hDevMode;
pdlg.hDevNames = setupdlg->hDevNames;
} else {
pdlg.Flags = PD_RETURNDEFAULT;
bRet = PrintDlgA(&pdlg);
if (!bRet){
if (!(setupdlg->Flags & PSD_NOWARNING)) {
char errstr[256];
LoadStringA(COMDLG32_hInstance, PD32_NO_DEFAULT_PRINTER,
errstr, 255);
MessageBoxA(setupdlg->hwndOwner, errstr, 0, MB_OK |
MB_ICONERROR);
}
return FALSE;
}
}
....
}
--- snip dlls/comdlg32/printdlg.c ---
The culprit is: if an application (win32 code, MFC ...) calls PageSetupDlgA()
with hDevMode and hDevNames both NULL ("give me default one") it *expects*
something usefull if PrintDlgA() dlgResult == ok.
To fix this, copy devmode/devname structure handles for client use.
--- snip dlls/comdlg32/printdlg.c ---
BOOL WINAPI PageSetupDlgA(LPPAGESETUPDLGA setupdlg)
{
.....
/* Initialize default printer struct. If no printer device info is specified
retrieve the default printer data. */
memset(&pdlg,0,sizeof(pdlg));
pdlg.lStructSize = sizeof(pdlg);
if (setupdlg->hDevMode && setupdlg->hDevNames) {
pdlg.hDevMode = setupdlg->hDevMode;
pdlg.hDevNames = setupdlg->hDevNames;
} else {
pdlg.Flags = PD_RETURNDEFAULT;
bRet = PrintDlgA(&pdlg);
if (!bRet){
if (!(setupdlg->Flags & PSD_NOWARNING)) {
char errstr[256];
LoadStringA(COMDLG32_hInstance, PD32_NO_DEFAULT_PRINTER,
errstr, 255);
MessageBoxA(setupdlg->hwndOwner, errstr, 0, MB_OK |
MB_ICONERROR);
}
return FALSE;
}
// FIX: there was no input hDevMode and hDevNames: give it to client!
setupdlg->hDevMode = pdlg.hDevMode;
setupdlg->hDevNames = pdlg.hDevNames;
}
....
}
-- snip dlls/comdlg32/printdlg.c ---
With this fix, the app doesnt crash anymore - though it exits later (due to my
upgrade-hack -> no full version avail -> incomlete install)
It could be possible that this one might "heal" related printing setup bug
reports/crashes too.
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=8036
------- Additional Comments From sick_soul(a)yahoo.it 2007-13-04 08:26 -------
I will check this again.
Can you confirm that you don't see a failure in the test,
but a crash? Can you trace where that crash happens?
Thanks
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.