http://bugs.winehq.org/show_bug.cgi?id=32852
Bug #: 32852 Summary: BioEdit: changing the install directory doesn't show the change in the GUI Product: Wine Version: 1.5.22 Platform: x86-64 URL: http://www.mbio.ncsu.edu/BioEdit/bioedit.html OS/Version: Linux Status: NEW Keywords: download, Installer Severity: trivial Priority: P2 Component: msi AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com Depends on: 28219 Classification: Unclassified
Minor bug, found while testing bug 28219.
Start BioEdit installer. Continue with defaults until you can change the install directory. Type a new name, then click okay. Instead of showing the dir as C:\BioEdit, it will now say _BrowseProperty.
http://bugs.winehq.org/show_bug.cgi?id=32852
Bug 32852 depends on bug 28219, which changed state.
Bug 28219 Summary: Multiple installers misbehave due to unresolved _BrowseProperty (TargetPath/SelectionPath property handling) (Guitar Hero World Tour, BioEdit) http://bugs.winehq.org/show_bug.cgi?id=28219
What |Old Value |New Value ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED |
http://bugs.winehq.org/show_bug.cgi?id=32852
Matti Hämäläinen ccr@tnsp.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ccr@tnsp.org
--- Comment #1 from Matti Hämäläinen ccr@tnsp.org 2013-05-26 11:11:32 CDT --- This affects many other installlers as well, at least I've seen it happen on all InstallShield installers.
Occurs still with Wine 1.5.31.
http://bugs.winehq.org/show_bug.cgi?id=32852
Bug 32852 depends on bug 28219, which changed state.
Bug 28219 Summary: Multiple installers misbehave due to unresolved _BrowseProperty (TargetPath/SelectionPath property handling) (Guitar Hero World Tour, BioEdit) http://bugs.winehq.org/show_bug.cgi?id=28219
What |Old Value |New Value ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |FIXED
http://bugs.winehq.org/show_bug.cgi?id=32852
Frédéric Delanoy frederic.delanoy@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |frederic.delanoy@gmail.com
--- Comment #2 from Frédéric Delanoy frederic.delanoy@gmail.com 2013-06-21 15:54:33 CDT --- Still in wine-1.6-rc3
http://bugs.winehq.org/show_bug.cgi?id=32852
NSLW lukasz.wojnilowicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lukasz.wojnilowicz@gmail.co | |m
--- Comment #3 from NSLW lukasz.wojnilowicz@gmail.com 2013-12-06 10:52:59 CST --- *** Bug 35044 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=32852
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #4 from Anastasius Focht focht@gmx.net 2013-12-06 11:49:46 CST --- Hello folks,
some recap before analysis: http://kb.flexerasoftware.com/selfservice/viewContent.do?externalId=Q212622&...
--- quote --- Controls and Events on DestinationFolder
On the DestinationFolder dialog, the PushButton control named ChangeFolder has two events associated with it. You can view these events by highlighting ChangeFolder in DestinationFolder's Dialog Behavior view. The first event, SpawnDialog, spawns the InstallChangeFolder dialog.
The other event is [_BrowseProperty] and its argument is INSTALLDIR. If a property in brackets is specified in the place of an event, that property will be set to the value given in the argument field. When ChangeFolder is clicked, _BrowseProperty will be set to INSTALLDIR. At the same time, InstallChangeFolder will be spawned, as mentioned above.
Controls and Events on InstallChangeFolder
It is necessary to set _BrowseProperty because there are three controls on InstallChangeFolder that use _BrowseProperty: a DirectoryCombo, a DirectoryList, and a PathEdit. Although all of these controls look and interact with the user in different ways, they all do the same thing: display the path specified in their Property and allow the user to change the value of that Property. In this case, the property is _BrowseProperty (which was set to INSTALLDIR). When the user selects directories with any of these controls, the associated property, in this case INSTALLDIR (via _BrowseProperty) will be changed.
After users finish changing the value of the property to their liking, they will click OK. The OK button not only has an EndDialog ControlEvent associated with it, but also a SetTargetPath ControlEvent. SetTargetPath is given _BrowseProperty as an argument. It will check the path given by its argument to see if it is valid and writable. If it is not, it will block further events associated with its control. --- quote ---
For this installer I selected a new folder "C:\BioEdit\xxx" to make it more visible in trace log output.
--- snip --- ... 0023:trace:msi:MSIPathEdit_WndProc 0x10098 0008 00010096 00000000 ... 0023:trace:msi:msi_get_property returning L"INSTALLDIR" for property L"_BrowseProperty" ... 0023:trace:msi:msi_set_property 0x14b7e8 L"INSTALLDIR" L"C:\BioEdit\xxx" -1 ... 0023:Call user32.SetWindowTextW(00010098,00495778 L"C:\BioEdit\xxx") ret=7ed02db4 0023:Call window proc 0x7ed02fd9 (hwnd=0x10098,msg=WM_SETTEXT,wp=00000000,lp=00495778) 0023:Call user32.GetPropW(00010098,7ed71f5c L"MSIDATA") ret=7ed0300d 0023:Ret user32.GetPropW() retval=001e2810 ret=7ed0300d 0023:trace:msi:MSIPathEdit_WndProc 0x10098 000c 00000000 00495778 0023:Call user32.CallWindowProcW(7e97f812,00010098,0000000c,00000000,00495778) ret=7ed030cf 0023:Call window proc 0x7e97f812 (hwnd=0x10098,msg=WM_SETTEXT,wp=00000000,lp=00495778) ... 0023:trace:msi:MSIDialog_WndProc 0x0111 0023:trace:msi:msi_dialog_oncommand 0x1e23c8 0x10096 00000000 ... 0023:trace:msi:MSI_DatabaseOpenViewW L"SELECT * FROM ControlEvent WHERE `Dialog_` = 'InstallChangeFolder' AND `Control_` = 'OK' ORDER BY `Ordering`" 0x33e980 ... 0023:trace:msi:MSI_EvaluateConditionW 1 <- L"1" 0023:trace:msi:msi_dialog_send_event Sending control event L"SetTargetPath" L"[_BrowseProperty]" ... 0023:trace:msi:dialog_event_handler handling event L"SetTargetPath" ... 0023:trace:msi:msi_get_property returning L"C:\BioEdit\xxx" for property L"INSTALLDIR" ... 0023:trace:msi:msi_event_fire firing event L"SelectionPath" ... 0023:Call user32.SetWindowTextW(00050070,0020eb78 L"_BrowseProperty") ret=7ecfee0d 0023:Call window proc 0x7ecff31e (hwnd=0x50070,msg=WM_SETTEXT,wp=00000000,lp=0020eb78) 0023:trace:msi:MSIText_WndProc 0x50070 000c 00000000 0020eb78 ... 0023:trace:msi:MSI_SetTargetPathW 0x1546d8 L"INSTALLDIR" L"C:\BioEdit\xxx" ... 0023:trace:msi:msi_set_property 0x14b7e8 L"INSTALLDIR" L"C:\BioEdit\xxx\" -1 ... --- snip ---
The control in question doesn't have 'indirect' attribute set hence in the event handler for "SetTargetPath" control event the property is displayed as-is -> "_BrowseProperty"
Debugging session for the relevant control event:
--- snip --- Wine-dbg>bt Backtrace: =>0 0x7ecfe8a2 dialog_handle_event(dialog=0x1d6330, control="Location", attribute="SelectionPath", rec=0x21c2c0) [/home/focht/projects/wine/wine-git/dlls/msi/dialog.c:622] in msi (0x0033e8b8) 1 0x7ed08e7b event_set_target_path+0x79(dialog=0x1d1890, argument="INSTALLDIR") [/home/focht/projects/wine/wine-git/dlls/msi/dialog.c:4502] in msi (0x0033e8e8)
...
Wine-dbg>p *ctrl {entry={next=0x1b7d70, prev=0x1584b0}, hwnd=0x5004e, handler=(nil), update=(nil), property="_BrowseProperty", value=0x0(nil), hBitmap=(nil), hIcon=(nil), tabnext=0x0(nil), type="Text", hDll=(nil), progress_current=0.000000, progress_max=100.000000, progress_backwards=0, attributes=0x3, name={0x4c}} --- snip ---
Source: http://source.winehq.org/git/wine.git/blob/3271b982632e7730d6cee373f4c9a4af3...
--- snip --- 620 static void dialog_handle_event( msi_dialog *dialog, const WCHAR *control, 621 const WCHAR *attribute, MSIRECORD *rec ) 622 { ... 705 else if ( !strcmpW( attribute, szSelectionPath ) ) 706 { 707 BOOL indirect = ctrl->attributes & msidbControlAttributesIndirect; 708 LPWSTR path = msi_dialog_dup_property( dialog, ctrl->property, indirect ); 709 if (!path) return; 710 SetWindowTextW( ctrl->hwnd, path ); 711 msi_free(path); 712 } ... 718 } --- snip ---
$ wine --version wine-1.7.7-326-ged89525
Regards
http://bugs.winehq.org/show_bug.cgi?id=32852
--- Comment #5 from NSLW lukasz.wojnilowicz@gmail.com --- Still present in wine-1.7.15-67-g99c151a
https://bugs.winehq.org/show_bug.cgi?id=32852
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #6 from super_man@post.com --- still valid 1.7.53
https://bugs.winehq.org/show_bug.cgi?id=32852
--- Comment #7 from super_man@post.com --- Still an issue 1.8.rc3
https://bugs.winehq.org/show_bug.cgi?id=32852
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair@hotmail.com
--- Comment #8 from Hans Leidekker hans@meelstraat.net --- *** Bug 39972 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=32852
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |e90b34e131446c356ae5c5f49fc | |376eb294f1ac1 Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #9 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Fixed by http://source.winehq.org/git/wine.git/?a=commit;h=e90b34e131446c356ae5c5f49f...
https://bugs.winehq.org/show_bug.cgi?id=32852
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mstefani@redhat.com Target Milestone|--- |1.8.x
https://bugs.winehq.org/show_bug.cgi?id=32852
--- Comment #10 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- This was a series of patches to fix this, ensure that this one is also included. http://source.winehq.org/git/wine.git/?a=commit;h=434f0f7cb18cc5068be0d48c0c...
https://bugs.winehq.org/show_bug.cgi?id=32852
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.8.x |---
--- Comment #11 from Michael Stefaniuc mstefani@redhat.com --- Removing 1.8.x milestone from bugs included in 1.8.1.
https://bugs.winehq.org/show_bug.cgi?id=32852
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.3.