wsock32 conformance test

2005-02-25 Thread Thomas Kho
Hi,

We're working on a set of tests for wsock32.dll. So far we've
completed a test of blocking network I/O with multiple threads. Before
we post to wine-patches, we'd appreciate any critiques/input.

Fredy, Doug, and I are UCLA undergraduates in a software engineering course.

Thanks for your help,

Thomas Kho



cc: Fredy Garcia, Douglas Rosenberg (group members)

Files available at:
http://www.geekymedia.com/viewcvs/cgi/viewcvs.cgi/wine4/wine/dlls/wsock32/tests/


wsock32_test.patch
Description: Binary data


Re: working installshield?

2005-02-25 Thread Marcus Meissner
On Mon, Feb 14, 2005 at 10:50:44AM -0600, Robert Shearman wrote:
 Marcus Meissner wrote:
 
 Hi,
 
 Is there any chance to have a working installshield at some time?
 
 I don't really want to fall back to the december or even earlier WINE
 releases for our spring SUSE Linux product ;)
  
 
 
 I haven't been testing against InstallShield for a while, but last time 
 I checked it was hanging because we do not process window messages 
 during RPCs. If you want to implement this yourself, I can give you 
 details on how to do this. I will get around to this eventually, but at 
 the moment I have other priorities. If the worst happens and 
 InstallShield is still not working, then you can still ship the December 
 ole32 with the most recent Wine.

Currently it reports things like:

err:ole:register_ifstub couldn't get IPSFactory buffer for interface 
{0131---c000-0046}
err:ole:register_ifstub couldn't get IPSFactory buffer for interface 
{0131---c000-0046}
fixme:sync:SetNamedPipeHandleState 0xec 0x55c40fbc (nil) (nil)
err:ole:proxy_manager_create_ifproxy Could not get IPSFactoryBuffer for 
interface {0131---c000-0046}, error 0x80040155
fixme:sync:SetNamedPipeHandleState 0x88 0x55c40fb8 (nil) (nil)
err:ole:register_ifstub couldn't get IPSFactory buffer for interface 
{0131---c000-0046}

Which is IRemUnknown I think.

Should it do that?

Ciao, Marcus


pgpLKSS4mYrCF.pgp
Description: PGP signature


Re: working installshield?

2005-02-25 Thread Marcus Meissner
On Fri, Feb 25, 2005 at 11:16:15AM +0100, Marcus Meissner wrote:
 On Mon, Feb 14, 2005 at 10:50:44AM -0600, Robert Shearman wrote:
  Marcus Meissner wrote:
  
  Hi,
  
  Is there any chance to have a working installshield at some time?
  
  I don't really want to fall back to the december or even earlier WINE
  releases for our spring SUSE Linux product ;)
   
  
  
  I haven't been testing against InstallShield for a while, but last time 
  I checked it was hanging because we do not process window messages 
  during RPCs. If you want to implement this yourself, I can give you 
  details on how to do this. I will get around to this eventually, but at 
  the moment I have other priorities. If the worst happens and 
  InstallShield is still not working, then you can still ship the December 
  ole32 with the most recent Wine.
 
 Currently it reports things like:
 
 err:ole:register_ifstub couldn't get IPSFactory buffer for interface 
 {0131---c000-0046}
 err:ole:register_ifstub couldn't get IPSFactory buffer for interface 
 {0131---c000-0046}
 fixme:sync:SetNamedPipeHandleState 0xec 0x55c40fbc (nil) (nil)
 err:ole:proxy_manager_create_ifproxy Could not get IPSFactoryBuffer for 
 interface {0131---c000-0046}, error 0x80040155
 fixme:sync:SetNamedPipeHandleState 0x88 0x55c40fb8 (nil) (nil)
 err:ole:register_ifstub couldn't get IPSFactory buffer for interface 
 {0131---c000-0046}
 
 Which is IRemUnknown I think.

Ignore me, I should have reregistered wine.inf (old fake wine setup) :/

Ciao, Marcus


pgpanXctDdBLs.pgp
Description: PGP signature


Re: [RESEND2] Uninstaller localization

2005-02-25 Thread Dmitry Timoshkov
Jonathan Ernst [EMAIL PROTECTED] wrote:

 Next I'll change the window to a dialog if I can.

Thanks.

 -wc.lpszClassName = appname;
 +wc.lpszClassName = sAppname;
  
  if (!RegisterClass(wc)) exit(1);
 -hWnd = CreateWindow( appname, Wine Application Uninstaller,
 +hWnd = CreateWindow( sAppname, sAppname,

Sorry for not pointing out to it earlier, but it's better to leave the window
class name in ASCII.

-- 
Dmitry.




Re: Compiling wine dlls for windows

2005-02-25 Thread Michael Jung
On Thursday 24 February 2005 21:19, Hans Leidekker wrote:
 On Thursday 24 February 2005 17:53, Michael Jung wrote:
  I would like to test a wine dll I'm working on on windows. Could you
  please tell me how the wine dlls are build for windows ? (Or beat me to
  the the place where it is documented.)

 Among other possibilities, if you have an RPM based distro
 you could use my MinGW cross compiler RPM packages, prebuilt
 for Fedora Core and SUSE but also available as source RPMS
 to rebuild yourself:

Thanks for all the tips I've got on this one.

Bye,
-- 
Michael Jung
[EMAIL PROTECTED]



Space Empires: Starfury

2005-02-25 Thread Adam Babcock
I have posted to the list before about this game. Anyway, a group of us 
over at the publisher's forum really want to see this game running, so 
we will be getting in #starfury on freenode this saturday to try and get 
it to run. We would really appreciate the help if anyone from the list 
with a more technical background on the inner workings of wine would 
join in and help. We've set a starting time of around 15h00 UTC, so if 
any of you wanted to join in, would be greatly appreciated.




Re: SHELL32: implement loading and saving of MSI advertised shortcut info

2005-02-25 Thread Juan Lang
Hi Mike,
 + *   in that string is parsed an stored.
s/an/and/

 +typedef struct volume_info_t
 +{
 +DWORD type;
 +DWORD serial;
 +WCHAR label[12];  /* assume 8.3 */

Shouldn't label's size be 13?  8+3+'.'+NULL?

 +if( (buffer.magic0x) != 0xa000 )

A symbolic constant would be nice here.

Thanks,
--Juan

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



Problem using winelib to compile Std Lib strings

2005-02-25 Thread Rob D
Ive undertaken the task of converting 2 rather large Win32 applications
to run on Solaris 10.
I have managed to tweak nearly all of the files so they will compile
with wine after running winemaker.
The files I cant seem to compile are ones that use std string.
I get a few errors like the following:
error: ::div has not been declared
error: ::ldiv has not been declared
And tons about /usr/include/pthread.h like the following:
error: uintptr_t does not name a type
error: caddr_t has not been declared
error: caddr_t does not name a type
error: pthread_attr_t was not declared in this scope
The files in question have lines like the following:
#include string
using namespace std;
Ive tried including various additional header files like sys/types.h
and dtrace/h, with varying success, but still approx 200 errors when
trying to compile these files.
The error lines say they are from include/c++/3.4.2, so Im assuming
that it is using the 3.4.2 compiler as opposed to the 2.95 one also
installed on these machines.
The development Ive been tasked with will move several people off of
winblows machines and onto Solaris 10 if I can succeed, so it is even
more critical in my mind to get this to work.
Rob  




Re: wsock32 conformance test

2005-02-25 Thread Juan Lang
Hey guys, nice work.  Minor comments below:

 +/* we often pass this size by reference */
 +int sizeofSOCKADDR_IN = sizeof(SOCKADDR_IN);

When you pass it by reference, you don't reinitialize it after a call that
might modify it, e.g. here:
 + /* get port number */
 + getsockname(*sock, (SOCKADDR *) tmpAddr, sizeofSOCKADDR_IN);

I think it'd be safer to declare a local int initialized to
sizeof(SOCKADDR_IN) and pass this by ref instead.

 + for (connIndex = 0; connIndex  NUM_CLIENTS; connIndex++) {
 + /* accept connection */
 + tmpSock = accept(*sock, (SOCKADDR *) tmpSockAddr,
sizeofSOCKADDR_IN);

Your indenting's off here.  (Do you have to use tabs?  Ick.)

 + connection-serverThread.Handle = CreateThread(NULL, 0,
(LPTHREAD_START_ROUTINE) BlockingServerConnection_Run, connection, 0,
connection-serverThread.ID);

Please wrap long lines.

 + const int numTests = 3;

Might as well make that static too.

Props for first post :)
--Juan

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



Re: [winecfg] Drive autodetection

2005-02-25 Thread Mike Hearn
On Thu, 24 Feb 2005 15:03:47 +0100, Michael Jung wrote:
 Actually, winecfg's properties.h does use Hungarian notation.

Yes, I know. That's left over from the old code which did use it. As I
went through the code it was changed to just be regular style.




WINE: Rendering in Diamond2.x works :-)

2005-02-25 Thread Tobias Burnus
Hello,
I'd like to thank the Winegrowers for providing such a nice flavoured Wine.
With the current version, the program Diamond is even able to render the 
output (at least if one turns off the double buffering):

w/o rendering: http://www.physik.fu-berlin.de/~tburnus/wine/diamond2.png
w/  rendering: http://www.physik.fu-berlin.de/~tburnus/wine/diamond_rend.png
(somehow the menu/tool/status bars are not correctly redrawn and the 
rendering seems to be too low by the height of a toolbar, but rendering 
works :-)

and hitting Shift-Ctrl-N now works as well (thanks to Dimitry!).
Tobias


How do native win32 apps end up calling into x11drv?

2005-02-25 Thread Adam Connell
Greetings,
I'm trying to understand how windows drawing gets translated into X in wine
and so I was looking at the {im,ex}ports of x11drv and gdi32. x11drv depends
on gdi32 and just seems to export a good chunk of the api that gdi32 exports
(BitBlt etc). gdi32 doesn't depend on x11drv or even Xlib. How do native 
win32
apps end up calling into x11drv?

Cheers,
Adam


Re: Space Empires: Starfury

2005-02-25 Thread Tom
Adam Babcock wrote:
I have posted to the list before about this game. Anyway, a group of 
us over at the publisher's forum really want to see this game running, 
so we will be getting in #starfury on freenode this saturday to try 
and get it to run. We would really appreciate the help if anyone from 
the list with a more technical background on the inner workings of 
wine would join in and help. We've set a starting time of around 15h00 
UTC, so if any of you wanted to join in, would be greatly appreciated.



Hello Adam,
I'll start off by adding in some info and links about this game.
HomePage:
http://www.malfador.com/starfury/starfury.html
System Requirements:
 Pentium 500MHz or better class machine
 Windows 95, 98, 2000, ME, XP
 32 megabytes RAM or better
 1024x768 or better screen resolution
 16 bit color display or better
 DirectX 7.0 (or better)
 A video card with 3D acceleration
 400 megs hard drive space
 A sound card capable of supporting MP3 and DirectSound playback.
 Sound card must be DirectX 7.0 (or better) compatible.
Demo:
http://www.3dgamers.com/games/sestarfury/downloads/
http://www.malfador.com/starfury/sfdemo.html
Tom



Microsoft admits targeting Wine users

2005-02-25 Thread Tom
Here is the link:
http://news.zdnet.co.uk/0,39020330,39189180,00.htm
Tom


MSVCRT: Generating relay stubs for libc forwards/varargs

2005-02-25 Thread Uwe Bonnes
Hallo,

in msvcrt a lot of functions are of type vararg (e.g. printf) or are
forwards into the Linux libc (e.g. strstr) and so leave no trace in a +relay
log. This makes it harder to debug.

I think it would be helpfull, if we could generate debug stubs for these
functions. Can anybody help?

Bye
-- 
Uwe Bonnes[EMAIL PROTECTED]

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
- Tel. 06151 162516  Fax. 06151 164321 --



WineConf agenda ideas

2005-02-25 Thread Brian Vincent
Over the the past week or so I've harassed some folks about the agenda for 
WineConf.  At this point there's a lot that remains to be filled in, but I 
need some feedback.  Also, I need more ideas for presentations.  Does anyone 
want to present something?  It'd be great if someone would volunteer.  I 
think what we're shooting for is a presentation followed by discussion 
all contained within about one hour.  In total we'll have 10 - 12 different 
topics.

Here's the items that are definitely going to be on the agenda:

WRS intro
Keynote - Alexandre
Road to .9 and 1.0 - Dimi
ReactOS update - all the ReactOS guys
Wine / networking / Samba issues - Juan Lang

We've also got some other items, but I need feedback as to whether any of 
you find this stuff interesting.  (So reply and tell me if any of these 
items sound interesting.)

Windows authentication - Andrew Bartlett (um.. haven't asked him yet though)
Something else Samba related? - Samba guys
Commercial port of a Winelib app and using Wine - an enterprise user
CXTest and regression testing - someone from CodeWeavers
Version control - Mike Hearn wearing a fire retardant suit
DCOM work - Mike or Rob
DirectX update - ?

Also, if you need to make hotel reservations, there's just a few weeks left
to do that.  Check out the WineConf page for details:
  http://www.winehq.org/site/wineconf

As people begin to figure out travel plans, the wineconf mailing list will
pick up.  How to join:
  http://www.winehq.org/mailman/listinfo/wineconf

Let me know if you have any questions.

-Brian



Re: Microsoft admits targeting Wine users

2005-02-25 Thread Troy Rollo
On Saturday 26 February 2005 05:03, Tom wrote:
 Here is the link:
 http://news.zdnet.co.uk/0,39020330,39189180,00.htm

Sounds like a quote for the front page of the web site:

[Wine is]  the most popular third-party [Windows API] translation technology 
in use - Microsoft



While we're saying thanks, another thing that works is...

2005-02-25 Thread Holly Bostick
... the Neverwinter Nights Toolset. Amazingly enough, after I had 
followed a whole lot of very complex instructions in order to download 
and compile some half-ancient version of WineX (3.3.2), patch it to 
nwwine (which is the common name of the patched version that is supposed 
to get the toolset working; it's in Portage and everything), and add 
Registry entries and native dlls, it turned out that the toolset ran 
'perfectly well' under regular old Wine 20050211 (and in fact not very 
well under nwwine; couldn't use the menus, etc.).

My wine is all hacked together atm, so I'll have to do a clean install 
to see if it needs anything special other than a couple of native dlls 
(that it might not need, but I had installed them to the program folder 
for nwwine) before attempting to add it to the appdb, but it definitely 
works. I've added custom content to all 7 of the Original Campaign 
modules using it (and the game is using the content properly, so it's 
correctly added).

Oh, and by the way, thanks for the fix of the titlebars; it's really 
really nice to have the same window decorations in Wine programs as on 
the rest of the desktop. Just noticed it today (can't believe I didn't 
before) and wanted to let you know I appreciate it.

Holly


Re: Microsoft admits targeting Wine users

2005-02-25 Thread Brian Vincent
On Sat, 26 Feb 2005 05:57:16 +1100, Troy Rollo [EMAIL PROTECTED] wrote:
 On Saturday 26 February 2005 05:03, Tom wrote:
  Here is the link:
  http://news.zdnet.co.uk/0,39020330,39189180,00.htm
 
 Sounds like a quote for the front page of the web site:

I agree.

I added something similar.  (Little HTML typo, but it'll be fixed in a
few minutes.)

-Brian



New uninstaller

2005-02-25 Thread Jonathan Ernst
As requested, I'm trying to make a new uninstaller using a dialog
instead of a window.

It's my first windows program and I have something working but there are
still some issues.

If someone could help with some of the following problems, I'd be very
thanfull.

1) Strange problem with UpdateWindow
uninstaller.c, line 264
I implemented a search/filter field and I want to repaint the window
after each input in the EDITTEXT control. However, when I call
UpdateWindow on this line, the value returned is 1 so that a WM_PAINT
message should be sent right ? But strangly no message is sent and I
have to make something else (like moving the dialog) to force the window
to repaint and filter the entries. 
The funny thing is that UpdateWindow on line 279 works just fine.
I guess it's a bug in my code and not in Wine so I'd be glad if you
could help me.

2) Improve filter code
Currently I filter the entries that match exactly the filter string. I
would like to at least make a case insensitive strstr on the string.
What's the best way to do it (See uninstaller.c, line 235)

3) Stringtables
a)Is there a way to load localized strings without having to guess
beforehand the size of the string in each language ?
b)Is there a way to not call LoadString for each string ?
c)Where is the best place to load every string of a stringtable ? in
main(), just before calling DialogBox() ?

4) Please tell me if you see things that are bad in the attached code,
so that I'll fix it before submitting a patch.

Thanks you for your help


uninstaller2.tar.gz
Description: application/compressed-tar


signature.asc
Description: Ceci est une partie de message	=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=


Re: using safe string functions in wine

2005-02-25 Thread Alexandre Julliard
James Hawkins [EMAIL PROTECTED] writes:

 What is your opinion on whether we should implement and use either the
 user-mode or kernel-mode (or both) string safe functions?  Using these
 functions instead of the standard c string functions would promote
 consistency and security in the wine code base.  On the other hand,
 using these functions adds another layer of calls to the code.  What
 are other pro's and con's of using string safe functions?

The main con is that these functions are not standard, and ugly as
hell. Also, all they do is allow someone to write bad code without
opening too many security holes; IMHO writing good code instead is a
better way to achieve that.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: New uninstaller

2005-02-25 Thread Ivan Leo Puoti
Jonathan Ernst wrote:
4) Please tell me if you see things that are bad in the attached code,
so that I'll fix it before submitting a patch.
I think you probably want to pass a valid HINSTANCE to DialogBox, to do 
this you should
start your program with WinMain() instead of main().
Ivan.



status of winetest.exe

2005-02-25 Thread Stefan Leichter
Hello Paul,

i have noticed that the winetest are not longer built since the middle of the 
week. Can you take a look if something is broken?

Thanks Stefan



Re: setupapi: enumerate serial ports

2005-02-25 Thread Juan Lang
--- Alexandre Julliard [EMAIL PROTECTED] wrote:
  +/* Based on code from winspool's info.c */
  +static UINT SETUP_CountSerialPorts(void)
  +{
  +UINT i, ret;
  +
  +/* FIXME: it should be possible for more than four COM ports to
 exist, not
  + * sure why we retain that limit, but winspool does too so go
 with it.
  + */
  +for (i = 0, ret = 0; i  4; i++)
  +{
  +if (SETUP_SerialPortExists(i))
  +ret++;
  +}
  +TRACE(returning %d\n, ret);
  +return ret;
  +}
 
 It would probably be better to use QueryDosDevice here.

I'm not sure it is.  I just tried it, and QueryDosDevice returns success
for every COMx passed to it, even though only com1 exists in my dosdevices
directory.  Unless QueryDosDevice is also wrong (I don't know.)

--Juan



__ 
Do you Yahoo!? 
Yahoo! Mail - 250MB free storage. Do more. Manage less. 
http://info.mail.yahoo.com/mail_250



Re: setupapi: enumerate serial ports

2005-02-25 Thread Alexandre Julliard
Juan Lang [EMAIL PROTECTED] writes:

 I'm not sure it is.  I just tried it, and QueryDosDevice returns success
 for every COMx passed to it, even though only com1 exists in my dosdevices
 directory.  Unless QueryDosDevice is also wrong (I don't know.)

You don't necessarily need symlinks, by default it will fallback to
/dev/ttyS?. So if the corresponding ttyS? device exists QueryDosDevice
will succeed, which is correct since you do have that serial port.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: USER32: GetScrollBarInfo

2005-02-25 Thread Alexandre Julliard
Vitaly Lipatov [EMAIL PROTECTED] writes:

 +static BOOL SCROLL_GetScrollBarInfo(HWND hwnd, LONG idObject, 
 LPSCROLLBARINFO psbi)
 +{
 +RECT rect;
 +INT arrowSize, thumbSize, thumbPos, nBar, vertical;
 +FIXME(check me);

This doesn't sound very encouraging...

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: How do native win32 apps end up calling into x11drv?

2005-02-25 Thread Mike Hearn
On Fri, 25 Feb 2005 11:00:59 -0500, Adam Connell wrote:
 I'm trying to understand how windows drawing gets translated into X in wine
 and so I was looking at the {im,ex}ports of x11drv and gdi32. x11drv depends
 on gdi32 and just seems to export a good chunk of the api that gdi32 exports
 (BitBlt etc). gdi32 doesn't depend on x11drv or even Xlib. How do native 
 win32 apps end up calling into x11drv?

Well, the x11drv is built like a graphics driver would be in real windows.
It's loaded in dlls/user/user_main.c, and then the USER and GDI driver
table is filled via GetProcAddress. The USER/GDI calls then delegate to
the x11drv via these function pointers when necessary.

thanks -mike




Re: New uninstaller

2005-02-25 Thread Mike McCormack
Jonathan Ernst wrote:
As requested, I'm trying to make a new uninstaller using a dialog
instead of a window.
It's my first windows program and I have something working but there are
still some issues.
If someone could help with some of the following problems, I'd be very
thanfull.
Cool.  Some comments:
The dialog box procedure should not handle WM_PAINT or WM_CLOSE, so just 
delete those cases from the switch statement.

Don't send WM_SETFONT messages to the controls in the dialog.  Let the 
dialog template define what the dialog looks like.

Your WM_INITDIALOG handler should fill the listbox, not WM_PAINT.
You can remove the No items selected message if uninstall is clicked 
without a listbox element select.  That's just going to annoy people, 
and it's not internationalized.

Mike


Build on Fedora core 3 on AMD64

2005-02-25 Thread Adrian Harvey
I am having trouble getting wine (latest CVS) to build on my AMD64 box
runngin Fedora core3, and I was hoping some autoconf wizard might be
able to help.  To begin at the beginning, the issue that occurs during
build is:

gcc -m32 -c -I. -I. -I../../include -I../../include -I/usr/X11R6/include
-D__WINESRC__   -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-
boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith  -g -O2 -o
ddraw.dll.dbg.o ddraw.dll.dbg.c
.../../tools/winegcc/winegcc -B../../tools/winebuild -shared ./ddraw.spec
convert.o dclipper/main.o ddraw/hal.o ddraw/main.o ddraw/thunks.o
ddraw/user.o dpalette/hal.o dpalette/main.o dsurface/dib.o
dsurface/fakezbuffer.o dsurface/gamma.o dsurface/hal.o dsurface/main.o
dsurface/thunks.o dsurface/user.o dsurface/wndproc.o helper.o main.o
regsvr.o struct_convert.o  ddraw.dll.dbg.o version.res  -o ddraw.dll.so
-L../../dlls  -lole32 -luser32 -lgdi32 -ladvapi32 -lkernel32 -
L../../libs/wine -lwine -ldxguid -luuid  -L/usr/X11R6/lib64  -lXext -
lX11   -L../../libs/port -lwine_port 
/usr/bin/ld: skipping incompatible /usr/X11R6/lib64/libXext.so when
searching for -lXext
/usr/bin/ld: skipping incompatible /usr/X11R6/lib64/libXext.a when
searching for -lXext
/usr/bin/ld: cannot find -lXext
collect2: ld returned 1 exit status
winegcc: gcc failed.
make[2]: *** [ddraw.dll.so] Error 2
make[2]: Leaving directory `/home/adrian/wine/dlls/ddraw'
make[1]: *** [ddraw] Error 2
make[1]: Leaving directory `/home/adrian/wine/dlls'
make: *** [dlls] Error 2

So it seems that ld is finding the 64-bit version and failing to link
it.  It seems that the reason for this is that configure uses
xmkmf/imake to locate the X11 library directory and that this is always
returning the .../lib64 version.  I have split out the Imakefile that
configure generates, and tried various methods to prevent it seeing the
system as 64 bit and handing out the lib64 directory instead of the lib
one, but to no avail.

running:
setarch i386 imake -v -DUseInstalled -I/usr/X11R6/lib/X11/config
(to emulate an xmkmf, but with verbosity, which xmkmf doesn't do)
gives:
gcc -I. -D__amd64__ -D__amd64__ -traditional -Dlinux -DUseInstalled -
I/usr/X11R6/lib/X11/config -E -v Imakefile.c
Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --
infodir=/usr/share/info --enable-shared --enable-threads=posix --
disable-checking --with-system-zlib --enable-__cxa_atexit --disable-
libunwind-exceptions --enable-languages=c,c++,objc,java,f77 --enable-
java-awt=gtk --host=x86_64-redhat-linux
Thread model: posix
gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
 /usr/libexec/gcc/x86_64-redhat-linux/3.4.2/cc1 -E -traditional-cpp -
quiet -v -I. -I/usr/X11R6/lib/X11/config -D__amd64__ -D__amd64__ -Dlinux
-DUseInstalled Imakefile.c -mtune=k8
ignoring nonexistent directory /usr/lib/gcc/x86_64-redhat-
linux/3.4.2/../../../../x86_64-redhat-linux/include
#include ... search starts here:
#include ... search starts here:
 .
 /usr/X11R6/lib/X11/config
 /usr/local/include
 /usr/lib/gcc/x86_64-redhat-linux/3.4.2/include
 /usr/include
End of search list.

I can see that gcc is being passed -D__amd64__ but I can't trace where
this is coming from... 

Am I hunting on the right lines, or is there somthing much simpler I
have missed?  Also, what do we need to change in the autoconf stuff to
allow wine to build correctly on x86_64 multi-arch systems? (assuming
that it is not just my system being broken somehow)

Thanks for any help,
Adrian





Re: New uninstaller

2005-02-25 Thread Dmitry Timoshkov
Ivan Leo Puoti [EMAIL PROTECTED] wrote:

 Jonathan Ernst wrote:
  4) Please tell me if you see things that are bad in the attached code,
  so that I'll fix it before submitting a patch.
 
 I think you probably want to pass a valid HINSTANCE to DialogBox, to do this 
 you should
 start your program with WinMain() instead of main().

main() works just fine. GetModuleHandle(0) returns current HINSTANCE.

-- 
Dmitry.




Re: New uninstaller

2005-02-25 Thread Dmitry Timoshkov
Jonathan Ernst [EMAIL PROTECTED] wrote:

 1) Strange problem with UpdateWindow
 uninstaller.c, line 264
 I implemented a search/filter field and I want to repaint the window
 after each input in the EDITTEXT control. However, when I call
 UpdateWindow on this line, the value returned is 1 so that a WM_PAINT
 message should be sent right ?

No. UpdateWindow only sends WM_PAINT if there are invalidated areas to
repaint. You need to use InvalidateRect first.

Are you sure you want to repaint the whole window on each EN_CHANGE
and not some small area of a dialog?

 But strangly no message is sent and I
 have to make something else (like moving the dialog) to force the window
 to repaint and filter the entries. 
 The funny thing is that UpdateWindow on line 279 works just fine.
 I guess it's a bug in my code and not in Wine so I'd be glad if you
 could help me.

 2) Improve filter code
 Currently I filter the entries that match exactly the filter string. I
 would like to at least make a case insensitive strstr on the string.
 What's the best way to do it (See uninstaller.c, line 235)

Just send LB_FINDSTRING or LB_FINDSTRINGEXACT to listbox, it will do
the job for you.

 3) Stringtables
 a)Is there a way to load localized strings without having to guess
 beforehand the size of the string in each language ?
 b)Is there a way to not call LoadString for each string ?
 c)Where is the best place to load every string of a stringtable ? in
 main(), just before calling DialogBox() ?

It's better to void using string tables, since now you have converted
code to use dialog box instead.

 4) Please tell me if you see things that are bad in the attached code,
 so that I'll fix it before submitting a patch.

 +BOOL CALLBACK DlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)

BOOL - INT_PTR

WM_PAINT is not needed for dialog boxes, user32 does the job.

 +int main(int argc, char *argv[])
 +{
 +MSG msg;
 +WNDCLASS wc;
 +HWND hWnd;
 +LPSTR token = NULL;
 +int i = 1;
 +HINSTANCE hInst = NULL;

HINSTANCE hInst = GetModuleHandle(0);

-- 
Dmitry.




Re: New uninstaller

2005-02-25 Thread Mike McCormack
Jonathan Ernst wrote:
Ok I did it, but the listbox should be updated when the user ask to
uninstall someting OR the user changes the filter string ? How can I do
that using only WM_INITDIALOG ?
You can get notifications from the controls that things change.  For 
example, the edit control will send a WM_COMMAND( EN_CHANGE ) when the 
contents change.

WM_INITDIALOG is just for setting things up.
So create a function like fill_combo_box(), and call it whenever you 
need to update the combo box... when handling WM_COMMAND( EN_CHANGE ), 
WM_INITDIALOG, etc.

Mike