Re: [ANN] Conformance testing campaign

2003-08-30 Thread Shachar Shemesh
Ferenc Wagner wrote:

Greetings!

Hereby I ask people who have access to real Windows machines
to help me gather information about the behaviour of cross-
compiled conformance tests on the different platforms.
Please go to http://afavant.elte.hu/~wferi/wine for details.

If you can build the tests in the Wine tree by MSVC, then
packaging the compiled binaries would also mean a valuable
addition.  You will also find a packaging script on the page.
Thanks for your time,
Feri.
 

On Windows 2003 server, one of the tests actually created a GPF (cannot 
write to memory address 0x).

In any case - attached are the results. I'll probably only get around to 
compiling them on VC Sunday.

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/
Tests from build 20030829 
advapi32.dll:registry (test 1) 
registry.c:97: Test failed: value set to 'xx' instead of 'Te'
registry.c:98: Test failed: data set to 'xxx' instead of 'foobar'
registry.c:112: Test failed: data set to 'xxx' instead of 'foobar'
registry: 56 tests executed, 0 marked as todo, 3 failures.
advapi32.dll:registry done 
comctl32.dll:dpa (test 2) 
dpa: 4 tests executed, 0 marked as todo, 0 failures.
comctl32.dll:dpa done 
dsound.dll:dsound (not compiled) 
dsound.dll:propset (not compiled) 
gdi32.dll:generated (test 3) 
generated: 3892 tests executed, 0 marked as todo, 0 failures.
gdi32.dll:generated done 
kernel32.dll:alloc (test 4) 
alloc: 58 tests executed, 0 marked as todo, 0 failures.
kernel32.dll:alloc done 
kernel32.dll:atom (test 5) 
atom: 229398 tests executed, 0 marked as todo, 0 failures.
kernel32.dll:atom done 
kernel32.dll:codepage (test 6) 
codepage: 2 tests executed, 0 marked as todo, 0 failures.
kernel32.dll:codepage done 
kernel32.dll:console (test 7) 
console: 275 tests executed, 0 marked as todo, 0 failures.
kernel32.dll:console done 
kernel32.dll:directory (test 8) 
directory: 51 tests executed, 0 marked as todo, 0 failures.
kernel32.dll:directory done 
kernel32.dll:drive (test 9) 
drive: 160 tests executed, 0 marked as todo, 0 failures.
kernel32.dll:drive done 
kernel32.dll:environ (test 10) 
environ: 39 tests executed, 0 marked as todo, 0 failures.
kernel32.dll:environ done 
kernel32.dll:file (test 11) 
file.c:265: Test failed: couldn't create file "testfi/" (err=123)
file.c:524: Test failed: CopyFileA: unexpected error 80

file.c:556: Test failed: CopyFileW: unexpected error 80

file.c:585: Test failed: CREATE_NEW should fail if file exists and last error value 
should be ERROR_SUCCESS
file.c:611: Test failed: CREATE_NEW should fail if file exists and last error value 
should be ERROR_SUCCESS
file.c:623: Test failed: DeleteFileA(NULL) returned ret=0 error=3
file.c:627: Test failed: DeleteFileA("") returned ret=0 error=3
file.c:639: Test failed: DeleteFileW(NULL) returned ret=0 error=3
file.c:643: Test failed: DeleteFileW("") returned ret=0 error=3
file.c:799: Test failed: FindFirstFile on Root directory should Fail
file.c:806: Test failed: Bad Error number 2

file.c:679:Current offset = 0015
file.c:708:Current offset = 0015
file: 487281 tests executed, 0 marked as todo, 11 failures.
kernel32.dll:file done 
kernel32.dll:format_msg (test 12) 
format_msg: 58 tests executed, 0 marked as todo, 0 failures.
kernel32.dll:format_msg done 
kernel32.dll:generated (test 13) 
generated.c:542: Test failed: TYPE_ALIGNMENT(*(LPWIN32_STREAM_ID)0) == 8 (expected 4)
generated: 842 tests executed, 0 marked as todo, 1 failure.
kernel32.dll:generated done 
kernel32.dll:locale (test 14) 
locale.c:155: Test failed: GetTimeFormat got '' instead of '4'
locale.c:156: Test failed: GetTimeFormat: got 1 instead of 2
locale.c:182: Test failed: GetTimeFormat got '8.@:56AM' instead of '8.@:56.@:AM'
locale.c:183: Test failed: GetTimeFormat: got 9 instead of 12
locale.c:191: Test failed: GetTimeFormat got '' instead of '3'
locale.c:192: Test failed: GetTimeFormat: got 1 instead of 2
locale.c:467: Test failed: GetDateFormat got '5/4/2002' instead of '5/4/02'
locale.c:468: Test failed: GetDateFormat: got 9 instead of 7
locale.c:490: Test failed: GetDateFormat check DATE_YEARMONTH with null format 
expected ERROR_INVALID_FLAGS got return of '10' and error of '0'
locale: 193 tests executed, 0 marked as todo, 9 failures.
kernel32.dll:locale done 
kernel32.dll:path (test 15) 
path.c:514: Test failed: GetLongPathNameA: wrong return code, 112 instead of 48
path.c:904:TMP=C:\DOCUME~1\ADMINI~1.SUN\LOCALS~1\Temp
path.c:915:TMP=C:\WINDOWS
path.c:925:TMP=C:\
path.c:935:TMP=C:
path: 1733 tests executed, 0 marked as todo, 1 failure.
kernel32.dll:path done 
kernel32.dll:pipe (test 16) 
pipe.c:591:test 1 of 4:
pipe.c:593:test 2 of 4:
pipe.c:595:test 3 of 4:
pipe.c:511:test_NamedPipe_2 starting
pip

Re: Viruses in the wine-devel archive ??

2003-08-22 Thread Shachar Shemesh
P. Christeas wrote:

Marcus Meissner wrote:
 

On Fri, Aug 22, 2003 at 06:13:39PM +0300, P. Christeas wrote:
   

Yup, here is the message.
http://winehq.com/hypermail/wine-patches/2003/08/0203.html
I'll remove that attachment. Should we contact that author and let him
know he is infected, or simply remove him from the list?
   

Btw. Does SoBig.F run under wine? If yes, how bad can it get?
 

It crashes for me.

Ciao, Marcus
   

OK, we 'll fix wine .. ;)

On the serious side: wine could actually be the perfect platform for security 
tests. Having a virus spread on a pseydo-system is noteworthy..
 

We've been through this discussion before too. Wine is not a VM, and the 
isolation between Win32 and Unix code is the result of application's 
ignorance, rather than a deliberate design decision. As such, it is 
highly NOT recommended for cases where hostile code of unknown qualities 
is tested.

For all you know, sobig may be checking whether it is runnning on wine, 
and then issuing the correct interrupts (static linking dlopen) and 
infecting your Unix system.

    Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: When will Wine integrate an x86 CPU emulator?

2003-08-22 Thread Shachar Shemesh
Francois Gouget wrote:

PS: Please accept my apologies if this was a joke.
 

No, not a joke. I plead temporary insanity.

It does sound saner to let use double interfaces, or to emulate the Wine 
code itself.

Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: When will Wine integrate an x86 CPU emulator?

2003-08-21 Thread Shachar Shemesh
To add to Jim's idea:

What if the entire Wine code runs natively, but in little endian 
(possibly for winelib too - that would actually help with binary 
compatibility between the Unix and the windows versions of programs)?

If this sounds absured to you, then you have never done TCP/IP 
programming ;-)

This way, the conversions are avoided, and only performed when you have 
to communicate with the underlying OS. Converting integers for inside 
use cannot be, no matter what you do, as inefficient as emulating the 
entire instruction set.

   Shachar

Jim White wrote:

Francois Gouget wrote:

On Wed, 20 Aug 2003, Ulrich Weigand wrote:
[...]
The only reason for wanting to integrate an emulator into Wine is 
that this
would allow to run the Wine components natively, and only switch to the
emulator for executing Windows binaries.


[...]

Not only it would be extremely complex but I am not even sure it would
be more efficient.
...
How does that apply to the emulator case? Well, let's take InflateRect:
... 


I don't understand why you put effort into shooting down strawmen.  If 
you are not interested in a version of Wine incorporating an x86 
emulator then that's just dandy.

The point of integrating the x86 emulation is not necessarily to get 
into the interface between Wine and the Windows applications.  The 
point is to avoid a whole layer of OS emulation.  I have no problem 
even with the idea that some of Wine's code remains x86 in order to 
avoid switching modes excessively.

Consider Mac OS X.  Using Wine for x86/Linux means running a second OS 
under emulation and an attendant extra file/device mapping layer.  
Also while it is obvious that an intermediate stage will be to use X, 
a futher improvement could be to use the native toolkit.

And especially attractive from the x86 emulator's standpoint is the 
ability to identify read-only code resources with defined entry points 
that can be JIT compiled to native code rather than simply 
interpreting.  The opportunities for doing that at the machine level 
for hosting an OS are much more limited.

So while integrating x86 emulation with Wine certainly adds another 
whole set of complexity, the performance gains are easily attained 
because of the reduction in emulation layers which can readily run 
into order-of-magnitude performance penalities in all kinds of places 
as you illustrated.

Anyhow, I realize that the Wine-devel list isn't the most hospitable 
place for these sorts of ideas.  That's why I set up 
http://darwine.sf.net.

And there is no conflict here.  Wine has more than a big enough chunk 
of work carved out for itself, and it is it's sucess there that brings 
the attention from other perspectives with interests in leveraging 
that value into other areas.  We have a strong common interest in free 
and open software.  Otherwise we'ld just buy Windows (and for Mac OS 
X, Virtual PC).

Jim


--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: is anyone running windows 95, windows 98, windows ME or windows2003?

2003-08-20 Thread Shachar Shemesh
Jonathan Wilson wrote:

If so, I need you to run some kind of PE dumper that can dump exports 
(such as dumpbin from MS with the /exports switch on user32.dll and 
gdi32.dll from your version and send me the results, along with 
details of which version of windows you are running.
I want this info because I am compiling a list of the different 
versions of windows and which functions are exported by user32.dll and 
gdi32.dll in each version.



I still have 2003 installed. What do I run, and who do I send the output to?

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: wrong keyboard layout

2003-08-14 Thread Shachar Shemesh
Dmitry Timoshkov wrote:

"Shachar Shemesh" <[EMAIL PROTECTED]> wrote:

 

BTW, what wrong happens if your keyboard was misdetected? In the current
CVS all national characters should work fine regardless what keyboard
layout was detected. Is that only a warning message which makes you worry?
 

Does this also apply to UTF-8? I, for one, still can't get any 
characters recognized when the locale is UTF-8.
   

Shachar, Raul, could you apply the attached patch and produce a log
for me? Run Wine notepad with +x11drv,+key,+keyboard,+event, press
some offending keys, compress the log and send it directly to me
with good description what is expected and what you really get.
 

After some messing around, and kind help from Dimitry, the problem was 
that my locale was not set correctly. Setting the locale to en_US.UTF-8 
(with the dash, and in upper case) works with both wine and xev. Any 
other combination (utf8, UTF8, etc.) works with konsole, openoffice, 
kedit, and just about any other program I tested, but not with wine and 
xev. You live and you learn, obviously.

There is one thing that still bothers me. When using right-win for group 
toggle, I get a "`" printed when switching from group 0 to group 1, and 
";" when switching from group 1 to group 0. Otherwise, everything works 
fine. This does not happen when other combinations are used to switch 
modes (well, both shifts toggle used to drive wine simply mad, I don't 
know how things are today, but that also happened with some other 
applications).

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: wrong keyboard layout

2003-08-14 Thread Shachar Shemesh
Dmitry Timoshkov wrote:

"Phil Krylov" <[EMAIL PROTECTED]> wrote:

 

XFree86 -version reports:

XFree86 Version 4.3.0
Release Date: 27 February 2003
X Protocol Version 11, Revision 0, Release 6.6
Build Operating System: Linux 2.4.22_pre2-gss i686 [ELF] 
Build Date: 23 July 2003

The log you asked for is attached. It's rather big, so I truncated it
after ToUnicode entries.
   

Here is your problem:

trace:x11drv:x11drv_init_thread_data Using C locale of Input Method

XFree86 uses C locale, not UTF-8 one. As I wrote previously, test with
'xev' first. As soon as it starts to work, Wine should work as well.
 

I have asked you this before in private, but I fear I didn't really 
understand the answer. When I ran with an "incorrect" locale setting 
(en_US.utf8 instead of en_US.UTF-8), konsole would display Hebrew 
characters using the UTF-8 encoding. Furthermore, running OpenOffice, 
kedit or Mozilla would also work properly. It appears as if wine and xev 
are the only two applications in the world that would refuse to work 
with those slightly incorrect locales.

Can you please explain again how the other applications do this miracle?

Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: winver

2003-08-14 Thread Shachar Shemesh
Vincent Béron wrote:

Le mer 13/08/2003 à 01:40, Shachar Shemesh a écrit :
 

Windows 2003 Standard Edition (let me know if you want another edition):
Majour Version: 5
Minor Version: 2
Build Number: 3790
Platform ID: 2
CSDVersion empty (NULLs)
ServicePackMajor: 0
ServicePackMinor: 0
Reserved: 272, 3
   

Thanks Shachar, but there's still something I'm not sure about.

After ServicePackMinor, our winbase.h defines the following fields:
WORD wSuiteMask
BYTE wProductType
BYTE wReserved
I suppose your winbase.h only had two WORD wReserved(1,2)?
If that's the case, wSuiteMask maps to 272
(VER_SUITE_SINGLEUSERTS|VER_SUITE_TERMINAL), and wProductType to
VER_NT_SERVER. That would be our first version advertised as
VER_NT_SERVER. Is there a workstation version of 2K3, as earlier NT
versions were always defined as that in Wine?
Vincent
 

Windows 2003 comes in three flavours, apparently. Web edition, Standard 
Edition and Enterprise Edition. All three are considered "Windows 2003 
Server". There is no "Windows 2003 Pro", "Home", "Workstation" or 
whatever. In that respect, yes, it does make sense.

The headers I was using are the standard ones that come with Visual 
Studio 6 SP5. If the struct is supposed to have extra parameters, I have 
not seen them (I used the debugger's ability to spread a struct's 
content - I'm lazy that way). If there is some source you want to send 
me to run, please let me know.

I tested everything on Windows 2003 server standard edition. I can 
install the web or the enterprise editions, but I'm afraid the setup 
took over an hour for this one, and I actually need it for some testing. 
If it's really crucial to you, I'll try to install it on a virtual 
machine (will probably be faster than my PII 233 160MB machine that 
installed this version).

Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: winver

2003-08-14 Thread Shachar Shemesh
Vincent Béron wrote:

Le ven 01/08/2003 à 13:02, Shachar Shemesh a écrit :
 

[EMAIL PROTECTED] wrote:

   

I've noticed that wine doesn't yet seem to have a winver option for windows server
2003, I suppose it a trivial thing to implement, at least by seeing how quickly
this was done for windows xp.




 

If anyone needs to run regression tests on Windows 2003 Server, I can 
lay my hands on one (and many other, if needed)
   

Could you just send the result of GetVersionExA?

I think I have everything else (at least to define the version...)

Vincent

 

Windows 2003 Standard Edition (let me know if you want another edition):
Majour Version: 5
Minor Version: 2
Build Number: 3790
Platform ID: 2
CSDVersion empty (NULLs)
ServicePackMajor: 0
ServicePackMinor: 0
Reserved: 272, 3
--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: wrong keyboard layout

2003-08-14 Thread Shachar Shemesh
Dmitry Timoshkov wrote:

"Shachar Shemesh" <[EMAIL PROTECTED]> wrote:

 

There is one thing that still bothers me. When using right-win for group 
toggle, I get a "`" printed when switching from group 0 to group 1, and 
";" when switching from group 1 to group 0. Otherwise, everything works 
fine. This does not happen when other combinations are used to switch 
modes (well, both shifts toggle used to drive wine simply mad, I don't 
know how things are today, but that also happened with some other 
applications).
   

That's because we should ignore some key events. Try the attached patch,
perhaps some other keysyms should be added to that list.
Raul, that should help you as well.

 

Yes, that solves it for me. Thanks,

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




bidi support test program

2003-08-14 Thread Shachar Shemesh
Hi all,

Attached is a simple program to test whether the Win32 API supports BiDi 
reordering. Some packagers asked me for such a utility in the past, so 
they can make sure that their inclusion of ICU worked, and without 
forcing them to actually understand languages that are all Hebrew to them.

I'm not sure whether it would be necessary to include this utility 
inside the Wine soure, or how to do so. This is not exactly a test, as a 
failure is totally justified under some circumstances.

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/
/*
 * Copyright (C) 2003 Shachar Shemesh
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#include 
#include 

const WCHAR simple_bidi[]={0x5d0, 0x5d1, 0x5d2, 0};

int main()
{
WCHAR reordered_bidi[5];
HDC dc=GetDC(NULL);
GCP_RESULTSW results={ sizeof(GCP_RESULTSW), reordered_bidi, NULL, NULL, NULL, NULL,
NULL, 0, 0 };

/* Try to reorder the simple string, and see if things come out the right way */

GetCharacterPlacementW( dc, simple_bidi, 3, 0, &results, GCP_REORDER );

if( reordered_bidi[0]==0x5d2 )
{
printf("Success\n");
} else
{
printf("Failed\n");
}

return 0;
}


Re: wrong keyboard layout

2003-08-14 Thread Shachar Shemesh
Dmitry Timoshkov wrote:

BTW, what wrong happens if your keyboard was misdetected? In the current
CVS all national characters should work fine regardless what keyboard
layout was detected. Is that only a warning message which makes you worry?
 

Does this also apply to UTF-8? I, for one, still can't get any 
characters recognized when the locale is UTF-8.
When trying to type "Shalom" in notepad, wine makes a political statement:

Could not stat /cdrom (No such file or directory), ignoring drive D:
Could not stat /dvd (No such file or directory), ignoring drive G:
err:keyboard:X11DRV_ToUnicode Please report: no char for keysym 0CF9 
(hebrew_shin) :
err:keyboard:X11DRV_ToUnicode 
(virtKey=41,scanCode=1E,keycode=26,state=2010)
err:keyboard:X11DRV_ToUnicode Please report: no char for keysym 0CEC 
(hebrew_lamed) :
err:keyboard:X11DRV_ToUnicode 
(virtKey=4B,scanCode=25,keycode=2D,state=2010)
err:keyboard:X11DRV_ToUnicode Please report: no char for keysym 0CE5 
(hebrew_waw) :
err:keyboard:X11DRV_ToUnicode 
(virtKey=55,scanCode=16,keycode=1E,state=2010)
err:keyboard:X11DRV_ToUnicode Please report: no char for keysym 0CED 
(hebrew_finalmem) :
err:keyboard:X11DRV_ToUnicode 
(virtKey=4F,scanCode=18,keycode=20,state=2010)


Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: winver

2003-08-01 Thread Shachar Shemesh
[EMAIL PROTECTED] wrote:

I've noticed that wine doesn't yet seem to have a winver option for windows server
2003, I suppose it a trivial thing to implement, at least by seeing how quickly
this was done for windows xp.


 

If anyone needs to run regression tests on Windows 2003 Server, I can 
lay my hands on one (and many other, if needed)

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Work for hire^H^H^H^Hgrade

2003-07-26 Thread Shachar Shemesh
Steven Edwards wrote:

Even at that if I had the time, know-how, was in school and could get credit for 
working on a open
source project I would not work on WINE but port User Mode Linux to Windows. The Line 
project
already has a elf loader that will let you run Linux apps in Cygwin so its adapting 
that UML and
doing a port for a Mingw target. I just think it would be really nice to be able to 
run Linux on
top of a NT kernel so if ReactOS is ever ready you guys could have Linux on top of a 
kernel
running NT/2K drivers.
Thanks
Steven
 

Actually, I know someone who started to port UML to the win32 platform. 
Mandatory military service in Israel meant that this project is on hold, 
but if Ronen wants to pick that one up, I can hook him up with the person.

Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Work for hire^H^H^H^Hgrade

2003-07-26 Thread Shachar Shemesh
Hi all,

A prof. in a locale university is doing a summer course about open 
source development. I gave them a short power point lecture (on Linux 
:-), and showed them IE running, and managed to hook one vulenteer to do 
his assignment in Wine.

I have managed to interest him in some of open issues that are close to 
my heart (i.e. - BiDi related issues). However, this is far from final. 
I'm sure he would love to hear about other interesting areas, but some 
criteria must be kept.

It must be a task that is moreorless self contained (he is supposed to 
be graded for it at the end), and it must be something known to be 
possible in a reasonable amount of hours (i.e - it can't be 
"implementing MSI"). Then again, it can't be something too trivial (i.e. 
- not "localize notepad").

Currently at hand are adding encoding selection to the font dlg (and 
making it ANSI call Unicode in the process), and adding BiDi to the edit 
control. If you feel you have something else that may be of interest to 
him, feel free to try and grab him away :-)

   Shachar
P.S.
No, I have not dropped of the face of the planet, and I still read this 
list. Just too busy to be doing anything useful (except hiring other 
working hands, which may count for something, I guess). I'll be back, 
though.

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: wine/programs/notepad rsrc.rc main.h main.c di ...

2003-07-21 Thread Shachar Shemesh


--- wine/programs/notepad/rsrc.rc:1.8   Mon Jul 21 20:38:52 2003
+++ wine/programs/notepad/rsrc.rc   Mon Jul 21 20:38:52 2003
@@ -24,6 +24,20 @@
#include "commctrl.h"
#include "notepad_res.h"
+ID_ACCEL ACCELERATORS
+{
+"^A", CMD_SELECT_ALL
+"^C", CMD_COPY
+"^F", CMD_SEARCH
+"^O", CMD_OPEN
+"^S", CMD_SAVE
+"^V", CMD_PASTE
+"^X", CMD_CUT
+"^Z", CMD_UNDO
+VK_F3, CMD_SEARCH_NEXT, VIRTKEY
+VK_F5, CMD_TIME_DATE, VIRTKEY
+}
+
#include "Da.rc"
#include "De.rc"
#include "En.rc"
 

What's the sense in making the accelerators global to all languages? 
Each language has it's own accelerator keys (just as it has it's own menus).

Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Problam compiling wine rpm with icu support

2003-07-20 Thread Shachar Shemesh
puoti wrote:

I've just installed icu 2.6 on a fresh install of Mandrake Linux 9.1, and was
compiling wine-20030709 when I noticed a configure message saying
checking if we can staticly link icu... no
and I'm wondering what I've done wrong. Should I try with icu 2.4, or must I
compile icu with some special option? Please help, for various reasons this
month's wine rpm for mandrake is already very late.
 

Sorry for the late reply. I'm CCing the mailing list, in case someone 
there has a better clue as to the problem.

Can you please send me the config.log file?

    Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Warning on Alpha Linux

2003-07-19 Thread Shachar Shemesh
Todd Vierling wrote:

On Sat, 19 Jul 2003, Vincent Béron wrote:

: That's an easy one. One an Alpha, sizeof(int) != sizeof(foo *). I think
: sizeof(int) == 8, while sizeof(foo *) == 4.
Other way round.  sizeof(int) == 4; sizeof(void *) == 8.

: gcc is kind enough to warn you about this potentially nasty situation,
: although in these particular cases I don't see how putting the pointer
: in something larger will create a problem.
Use intptr_t.  If that's not available (via autoconf test), typedef intptr_t
to be "unsigned long" locally, as "long" is the size of a pointer on all
typical ILP32 and LP64 hosts.
 

The reason something is a warning and not an error is that it MAY have a 
legitimate use. As such, there should always be a way to change the code 
so that it will keep the same meaning, but will avoid the warning in the 
future. In this particular case, for example, what does applying the 
following change do?
-if (!((int)id >> 16)) return wine_dbg_sprintf( "", 
(int)id & 0x );
+if (!((int)id >> 16)) return wine_dbg_sprintf( "", 
(UINT16)id ); 

I'm a bit confused. gcc seems to be warning us about an explicit cast? I 
always thought that, in C, explicit casts are THE way of avoiding 
compile time warnings. Why should one change the semantic meaning of the 
code just so that gcc is pacified?

Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: something I could work on, can someone tell me if this is somethingusefull or not?

2003-07-19 Thread Shachar Shemesh
Jonathan Wilson wrote:

I could take the WINE implementation of notepad.exe (which is clearly 
a "clone" of an older version of notepad, probobly from Windows 98 or 
ME or 2000 or something) and add to it so it does the same things or 
similar things as the windows XP notepad.
Some of the differences between XP notepad and Wine notepad:
the file size limit is gone (because microsoft re-wrote the edit 
control to not have a size limit I guess)
the "page setup" and "print setup" dialogs are combined into one 
dialog now with new code to handle that.
A few slight differences between the UI of both (for example the Cut 
and Copy items are disabled if there is nothing selected, something 
wine notepad doesnt do)
Wrap Ling Lines (in Wine notepad) is moved to a new Format menu in 
Windows XP notepad and is called Word Wrap. Also, the Font menu item 
is moved for the Format menu.
Find and Find Next are moved to the Edit menu and renamed from Search 
and Search Next. Also, a Replace option and a Go To option (goes to a 
specific line) have been added.
And, the Save and Save As dialogs have an "encoding" selection box 
that lets you select
And, the print function has a "now printing" dialog.
Also (obviously), the help system is better in Windows XP notepad.

Basicly, I plan to implement some of these things (but I wont do the 
help system since thats something I know nothing about) to make wine 
notepad more like windows XP notepad (in particular, adding the 
Replace and Go To features)

I am taking this on because I want to improve my skills at working 
with the Win32 API.
Basicly, I want to know:
1.is this something usefull to the Wine project?
and 2.is there anything I should avoid doing for whatever reason? (for 
example, are there things I cant do because they would violate MS IP 
or something)
As far as I'm concerned, you left out the most important thing WinXP's 
notepad does, which is that it is unicode. That's the most important 
improvment missing.

You are welcome to put in your additions (though the 64K limitation, if 
it indeed exists in Wine's notepad, should be fixed at the Edit control 
level, and not notepad). There is no explicit attempt, however, to mimic 
notepad for Windows, just it's functionality, where apropriate.

Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Locales with the same language

2003-07-18 Thread Shachar Shemesh
Dmitry Timoshkov wrote:

"Vincent Béron" <[EMAIL PROTECTED]> wrote:

 

(after a bit more testing)
Using only SUBLANG_FRENCH_CANADIAN will display in French on both
Windows and Wine.
Using only SUBLANG_FRENCH_SWISS will display in English on both Windows
and Wine.
Using only SUBLANG_FRENCH will display in French only in Windows,
English in Wine (with LANG=fr_CA).
So SUBLANG_FRENCH seems to act (on Windows) the same way as a wildcard,
matching any of it's sublanguages if an exact match can't be done.
   

Could you please elaborate a bit, how exactly you did the tests above?

 

I also tried defining more than one (ie, SUBLANG_FRENCH and
SUBLANG_FRENCH_CANADIAN) resources. On Windows it chose the
SUBLANG_FRENCH, while in Wine it chose the SUBLANG_FRENCH_CANADIAN. That
gets me a bit puzzled though... unless my installation of Windows is set
to French, then French Canadian as a fallback (don't know of to check
this).
   

All of this highly depend on the exact language set in your system (be it
Windows or Wine).
I've attached my test app. See the results I got eclosed there between
#if 0/#endif.
Note, that if your system doesn't support SetThreadLocale() (i.e. you are
running Win9x), the system will prefer your current locale settings
instead of the provided value and it will influence behaviour of LoadString
and FindResource.
As you might see, Wine doesn't behave exactly like Windows, Wine makes
a preference for the current locale, Windows prefers to choose LANG_ENGLISH
first. As it was discussed previously, Wine's behaviour have to stay as
it is now, otherwise all NLS support for built-in DLLs and apps will broke.
 

I suspect that this depends on the language of Windows you install. When 
I have some time, I'll play a bit with this. MS also has a version of 
windows called "MUI", or Multilinugual User Interface. I suspect that 
that version behaves more like Wine does at the moment, but I have not 
checked that one either.

In the mean while, let's indeed reverese the patch translating 
SUBLANG_NEUTRAL->SUBLANG_DEFAULT.

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Locales with the same language

2003-07-17 Thread Shachar Shemesh
Dmitry Timoshkov wrote:

"Shachar Shemesh" <[EMAIL PROTECTED]> wrote:
 

Then probably you had to replace SUBLANG_NEUTRAL by SUBLANG_DEFAULT
only for LANG_ENGLISH resources. Anyway the patch I just set adds
LANG_ENGLISH,SUBLANG_NEUTRAL to the fallback list, since my test
under win2k shows that.
 

After some more analysis as a result of our discussion, maybe that is, 
indeed, the right thing to do.

I then proceeded to research what the situation on Windows was, and the 
categorical answer was that Visual Studio would not let you create 
resources with SUBLANG_NEUTRAL. SUBLANG_DEFAULT was the only option. It 
is for that reason that I believe that SUBLANG_NEUTRAL should only be 
used as a search qualifier, never as an actual resource.
   

If VS wouldn't allow you to add Hebrew resources you would decide that
Hebrew language is forbidden in resources?
 

VS DOESN'T let me add Hebrew resources, but if I then go and type in the 
language ID manually, it accepts it. On the other hand, it didn't accept 
SUBLANG_NEUTRAL as a valid option. As I said earlier in this mail, 
further research seems to suggest that I was, indeed, wrong.

The MSDN is a little hazy on the subject of 
SUBLANG_NEUTRAL. It has always been my understanding that we should be 
treating SUBLANG_NEUTRAL as a wildcard. Is that wrong?
   

The best way is to write a test program. I did it. Did you?
 

At the time, yes. The result was that LANG_ENGLISH, SUBLANG_DEFAULT was 
selected no matter what I did. When I have the time (yeah, right) I'll 
try installing a few variants of the same windows versions and do 
comparative assesment. I'm willing to mark this down as a bad case of 
memory on my part, in any case.

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Locales with the same language

2003-07-17 Thread Shachar Shemesh
Dmitry Timoshkov wrote:

Then the correct will be change all resources with SUBLANGE_DEFAULT to 
SUBLANG_NEUTRAL until someone localize them?
I can modify this if is the correct.
   

Actually there was a completely opposite patch committed recently:

2003-01-05
   Shachar Shemesh <[EMAIL PROTECTED]>
   Change the SUBLANG_NEUTRAL clause in all winelib applications to
   SUBLANG_DEFAULT, as they should be.
I vote to revert that patch.
 

Then perhaps I should explain why I submitted this patch.

The problem was with notepad. If my locale said "he_IL", it would 
display the menues in Danish. The reason was that, failing to find 
Hebrew locales, and failing to find LANG_ENGLISH, SUBLANG_DEFAULT 
locales, it loaded the first one available.

I then proceeded to research what the situation on Windows was, and the 
categorical answer was that Visual Studio would not let you create 
resources with SUBLANG_NEUTRAL. SUBLANG_DEFAULT was the only option. It 
is for that reason that I believe that SUBLANG_NEUTRAL should only be 
used as a search qualifier, never as an actual resource.

Now, looking at the code searching path I see:
   /* 2. specified language with neutral sublanguage */
   pos = push_language( list, pos, MAKELANGID( 
PRIMARYLANGID(info->Language), SUBLANG_NEUTRAL ) );

As far as my understanding goes, this should match the LANG_FRENCH with 
ANY sublang. Why doesn't this rule correctly find LANG_FRENCH,
SUBLANG_FRENCH_CANADIAN? The MSDN is a little hazy on the subject of 
SUBLANG_NEUTRAL. It has always been my understanding that we should be 
treating SUBLANG_NEUTRAL as a wildcard. Is that wrong?

       Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: [RESENT]: Fixed winedbg example configuration

2003-07-16 Thread Shachar Shemesh
Eric Pouech wrote:

These are two separate changes:

a) Wine's registry needs to preserve ordering (c++ builder, 
presumably among others)
b) BiGgUn wants to reorder the winedbg lines for some reason.  I'm 
not saying he's right (I don't understand why he wants to reorder 
things like that), but I am saying that if he is wrong, it's not 
because this would be reordered anyway.  Basically, I'm not 
supporting his patch, I'm saying Alexandre's reason for rejection is 
wrong.
I still agree with Alexandre here. Order of keys in registry doesn't 
matter when loading, moreover, next time wine exits, the keys get 
automatically reordered (and saved), so I don't understand the need of 
the key reordering.

A+


It appears that several Windows programs expect the order of the keys to 
remain the same as the order of creation. One such program is modern 
Explorer, which reorders menus by rewriting the registry. I believe we 
will eventually have to support that.

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Locales with the same language

2003-07-15 Thread Shachar Shemesh
Dmitry Timoshkov wrote:

"Vincent Béron" <[EMAIL PROTECTED]> wrote:

 

I have problems displaying Wine's app in my locale (fr_CA). They seem to
prefer to go to the English locale, although if launched with
LANG=fr_FR wine notepad
they will obey the French locale.
LANG=fr wine notepad
will display a warning about the plurality of locales with "fr", but
will display the app in French nonetheless.
   

LC_ALL=fr_CA wine notepad
 

Nope, doesn't work.
   

That's because there is no resources marked as (LANG_FRENCH,SUBLANG_FRENCH_CANADIAN)
in the Wine apps. If you fairly confident that all flavours of French (including
Canadian) have too little differences and creating separate resources for each
of them isn't worth the effort, then a way to go is to mark all french resources
in Wine with (LANG_FRENCH,SUBLANG_NEUTRAL).
 

No, that doesn't sound correct to me. Did you check that this is the way 
Windows does it's matching?

As far as I remember, if an exact match does not exist, we should look 
for the same language with sublang DEFAULT. IIRC, there is no situation 
where defining "SUBLANG_NEUTRAL" is the correct thing to do in resources.

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Shellexecute, bug 22, and MSDN

2003-07-06 Thread Shachar Shemesh
Dustin Navea wrote:

So should this be filed as a bug or would it be too difficult to implement a
check for the proper verb?
 

Just copy this email into Bugzilla.

Excellent bug report.

Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Word in Hebrew and Wine

2003-07-06 Thread Shachar Shemesh
Dmitry Timoshkov wrote:

"Shachar Shemesh" <[EMAIL PROTECTED]> wrote:
 

I tried it and it does NOT work. I still get "unrecognized keyboard event".
   

I'd prefer to see at least a +key,+keyboard,+x11drv,+event log (compressed)
with good description: what exactly doesn't work.
 

I get "unknown key". I'll try to recompile with it and let you know.

Please bear in mind that knowing which 
keyboard locale the current keymap belongs to is important.
   

Actually that's not important for internal functionality in current limits,
but it's necessary for keyboard layout APIs.
 

And it is important for getting Word to work with BiDi. All I was trying 
to do is to get this aspect of the API a higher priority.

I'm not sure 
we can afford to give the locale info from the keyboard layouts just yet.
   

In future we need to revive LCID for every defined keyboard layout, as
it was some time ago.
 

That's what I meant. Sorry if I wasn't clear.

What exactly part of it you see could be simplified, and how?

 

I was aiming for the following path:

  1. Detect current keymap. Try to do that independantly for each
 keymap group (i.e. - have an array - group0 - US, group1 - IL,
 group2 - RU).
 The keys will be stored inside the keyboard map in Unicode. I'm
 not 100% sure how to do that stage yet, but I do have a relatively
 non-efficient way of doing that to fall back to, if necessary.
   

This will require major revamping of the current code. If you have an idea
or a preliminary patch I'm interested to see it.
 

I have already started collecting the necessary information. It does, 
however, require relying on Xkb. This would also let us let applications 
control the current layout (for that I already have a working code). I 
/THINK/ we can get to a point where we don't need the keyboard lists in 
keyboard.c at all, which means we can support new keyboards with a 
simple line saying "IL is LCID(MAKELANG(LANG_HEBREW, SUBLANG_DEFAULT))".

I still have not started looking at how difficult it would be to be 
softly dependant on Xkb (so that if it's not present, not to support 
Windows keyboard switching). On the whole, however, I'm getting the 
feeling I'm planning work to be done in parallel to you, which sounds 
like a waste of resources. Especially as I may have found a local 
vulenteer to do the actual coding :-). If it makes more sense for you to 
delve into this, let me know and I'll redirect my vulenteer to other 
useful areas of Wine.

  2. Trap the X events that notify about group changes, and pass them
 on as Windows messages to applications.
   

That's a part of the planned keyboard layout support implementation.
 

Good

  3. When an X event arrives, convert the raw virtual key to a raw
 Windows key, and pass it on. Do not convert to ASCII, ANSI, or any
 other non-layout information. In essence, the keyboard mapping is
 not used at this stage at all.
  4. When an application asks to convert the raw Windows key to
 ANSI/Unicode, look up the result in the current keymap.
   

#3 and #4 are exactly how it's currently implemented.
 

That's not the impression I got, I have to admit. It has been a while 
since I stepped through the code, but I got the impression that Windows 
raw key is derived from the keyboard location of the ANSI representation 
of the X raw key.

When I have the time again (not this week, I'm afraid), I'll have a look 
again.

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Word in Hebrew and Wine

2003-07-05 Thread Shachar Shemesh
Hi all,

I think I found what is needed in order to implement my suggested 
keyboard support. The only drawback is that it requires the use of XKB, 
which is not a given in all Xservers. Personally, I find it hard to 
believe that there are many X servers that don't support it (the 
extension is from 1997).

Anyone has anything to say in terms of policy? Suggestions?

   Shachar

Shachar Shemesh wrote:

I was aiming for the following path:

  1. Detect current keymap. Try to do that independantly for each
 keymap group (i.e. - have an array - group0 - US, group1 - IL,
 group2 - RU).
 The keys will be stored inside the keyboard map in Unicode. I'm
 not 100% sure how to do that stage yet, but I do have a relatively
 non-efficient way of doing that to fall back to, if necessary.
  2. Trap the X events that notify about group changes, and pass them
 on as Windows messages to applications.
  3. When an X event arrives, convert the raw virtual key to a raw
 Windows key, and pass it on. Do not convert to ASCII, ANSI, or any
 other non-layout information. In essence, the keyboard mapping is
 not used at this stage at all.
  4. When an application asks to convert the raw Windows key to
 ANSI/Unicode, look up the result in the current keymap.
Saving the conversion to ANSI and back should detach us some way from 
the current Unix locale. In particular, I want Unicode Windows 
applications to work, with the same level of non-regard to current 
locale as they have on Windows.

  Shachar



--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Yet again ... Looking for services ...

2003-07-04 Thread Shachar Shemesh
Steven Edwards wrote:

 All the machinery for the services seem's to be in wine, so I am 
wondering if there has been any attempts ?
   

There has been discussion but nothing attempted yet. I think the plan was to add 
support to
wineboot.
Thanks
Steven
 

This does not fit in with where wineboot is expected to run at the 
moment. If/when we find a way to run it on startup, adding serivces to 
it may make sense again.

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Known Wine ToDo's

2003-07-04 Thread Shachar Shemesh
I guess my opinion would be to remove bullet 3 (WCMD), and change bullet 
4 (which will now be 3) to "Add localization to more languages and more 
parts of Wine".

Just one quick question - when was it that I became holy keeper of the 
national language support? I have to know those things, as I'm trying to 
keep an up to date resume on, and such a title is bound to land me more 
free-lancer jobs :-).

   Shachar

Tom wrote:

Shachar Shemesh wrote:

Sylvain Petreolle wrote:

National Language Support

Finish WCMD translation (i am working on it for the French part)
 

Why isn't that included under the "Add localization to more 
languages" bullet? 


How about this... You send a full list of known "National Language 
Support"
ToDo's and a order of priority. And if no one objects that is how they 
will be listed :)

Tom

Are all other parts of Wine already localized to all the languages 
currently supported?



--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Known Wine ToDo's

2003-07-04 Thread Shachar Shemesh
Sylvain Petreolle wrote:

National Language Support

Finish WCMD translation (i am working on it for the French part)
 

Why isn't that included under the "Add localization to more languages" 
bullet? Are all other parts of Wine already localized to all the 
languages currently supported?

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Word in Hebrew and Wine

2003-07-03 Thread Shachar Shemesh
Dmitry Timoshkov wrote:

Actually Alexandre didn't like that patch, and I reworked it and sent to
wine-patches as "Add support for CP_UNIXCP". If you could try it and
report whether it allows you to type with UTF-8 locale, it would be nice.
 

I tried it and it does NOT work. I still get "unrecognized keyboard event".

     Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Word in Hebrew and Wine

2003-07-03 Thread Shachar Shemesh
Dmitry Timoshkov wrote:

Actually Alexandre didn't like that patch, and I reworked it and sent to
wine-patches as "Add support for CP_UNIXCP". If you could try it and
report whether it allows you to type with UTF-8 locale, it would be nice.
 

Compiling it as we speak. Please bear in mind that knowing which 
keyboard locale the current keymap belongs to is important. I'm not sure 
we can afford to give the locale info from the keyboard layouts just yet.

Once this patch is commited, all the base for keyboard layout support
should be in place, and implementing kbd layout APIs should be a
straightforward enough task.
 

I hope. Like I said - the above point is blocking a major application 
for me.

Regarding the current implementation, I don't think that it's over
complicated. We have to cope with different virtual key code layouts
and should make an attempt to detect current X keyboard layout in order
to assign correct keyboard map, and report correct VK_xxx key events.
I'm in agreement thus far. I (sadly) don't think the rows of keymap 
definitions can be tossed out the door just yet.

The CP_UNIXCP patch simplifies a bit current scheme by removing
the codepage field from layout tables, which should avoid converting
X key events to unicode using wrong code page,
Well, that may be the case, and yet I think we will need to know the 
LANGUAGE for the keyboard anyhow.

and therefore make
it possible to make international keyboard input work even if we have
made a mistake while detecting an X keyboard layout.
 

That's actually not what I'm worried about. The last time that the 
keyboard detection algorithm question was raised, the concensus was that 
while the current algorithm is sub-ideal, there is no practical need to 
replace it.

What exactly part of it you see could be simplified, and how?
 

I was aiming for the following path:

  1. Detect current keymap. Try to do that independantly for each
 keymap group (i.e. - have an array - group0 - US, group1 - IL,
 group2 - RU).
 The keys will be stored inside the keyboard map in Unicode. I'm
 not 100% sure how to do that stage yet, but I do have a relatively
 non-efficient way of doing that to fall back to, if necessary.
  2. Trap the X events that notify about group changes, and pass them
 on as Windows messages to applications.
  3. When an X event arrives, convert the raw virtual key to a raw
 Windows key, and pass it on. Do not convert to ASCII, ANSI, or any
 other non-layout information. In essence, the keyboard mapping is
 not used at this stage at all.
  4. When an application asks to convert the raw Windows key to
 ANSI/Unicode, look up the result in the current keymap.
Saving the conversion to ANSI and back should detach us some way from 
the current Unix locale. In particular, I want Unicode Windows 
applications to work, with the same level of non-regard to current 
locale as they have on Windows.

  Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Word in Hebrew and Wine

2003-07-03 Thread Shachar Shemesh
Hi,

I have a pretty good estimate of what needs to be done to get Word 
supported in Hebrew. The current problems have to do with Word calling 
"GetKeyboardLang" after each character, and using the result as a basis 
for interpreting each received character. Currently, this function just 
returns the system locale, which causes Word to assume each and every 
letter is a Hebrew one, even the English ones. The results are pretty 
catastrophic, as people have reported (typing "Hi there everyone" 
typically results in the screen showing "Hthere everyone i", with "yone" 
highlighted with green to say it has syntax correction to suggest. The 
correct is to replace "there" with "they're").

I have been itching to do an overhaul of the Wine keyboard handling for 
some time. I think the current scheme is overly complicated, and causes 
problems. This is a major task, but I may be able to recrute some local 
help. I am a bit worried, however, about the fact that some other people 
may also working on a similar task at the moment. I know Dmitry said in 
the past he is rennovating the keyboard a little, and I know codeweavers 
still hold a patch that will allow UTF-8 input locale to work.

I would like to coordinate the effort. If anyone is working on the 
keyboard right now, please let me know.

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Various problems- it just gets worse!

2003-06-30 Thread Shachar Shemesh
Duane Clark wrote:

Shachar Shemesh wrote:

Duane Clark wrote:


I do understand the aversion to scripts, but the wineinstall one is 
fairly mild. I've been using Wine for more than 3 years and have 
even done some development on it (I wish I had more time for that... 
sigh). Still, if I want to test with a clean install, I delete or 
move the old windows and .wine directories and just use wineinstall 
to create fresh versions. Because, well, it just works so well and 
is a lot easier than doing the configuration by hand.


My beef with wineinstall is that there is no way to isolate the 
configuration creation part from the install part. I think we should 
have a script that does only the configuration, fake root and 
registry creation. This way, the script can be bundled with the 
package and placed on the destination machine. such a script should 
be runnable without the sources dir (maybe by specifying the location 
of the template registry and such via command line, maybe created by 
./configure).

This way, the order CAN be "./configure, make depend, make, make 
install, createconf" for normal install. Packagers can then do 
"./configure --templatedir=/usr/share/wine --prefix=/usr (etc) && 
make depend && make && TMPDIR=/tmp/winerpmroot make install", and run 
"createconf" from the "postinstall" section of the RPM sort of thing.

Opinions?


It sounds like you are looking for something useful for binary 
distributions. I think that wineinstall would normally only be used by 
someone who is downloading and installing their first source 
distribution. 
Not entirely true either. I often find myself seeking to restore the 
config. Also, what about someone who downloaded the sources and 
installed wine system wide, and then wants to enable wine for a second user?

So I think wineinstall is appropriate for that.

For binary distributions, I think a GUI tool is more appropriate. And 
there exists a tool, winesetuptk, for that purpose. It is a long time 
since I tried that tool, but as I recall, it was fairly easy to use.

I disagree, even had I been looking for something useful for a binary 
distribution. A GUI tool would be the worst solution possible. 
winesetuptk is excellent for an end user trying to tweak his own 
configuration. Something that runs while rpm -i (or dpkg -i) cannot 
depend on GUI, for it would prevent it from running while installing the 
system.

Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Known Wine ToDo's

2003-06-29 Thread Shachar Shemesh
Tom wrote:

Hello Shachar,

I am going to update the ToDo page :
http://www.winehq.com/?page=status_todo
And im wondering if you can send me a list of ToDo's that your
aware of ?
Thanks

Tom

The tasks I'm talking about here are long term. Not all of them have 
been discussed on wine-devel yet. I'm CCing wine-devel in case anyone 
wants to object.

National Language Support - Remove "Hebrew and Arabic" - it's just part 
of BiDi if technology is what wer'e talking about. If interface 
localization is what wer'e talking about, then just add "add 
localization to more languages".

As a subitem of keyboard support, add "allow using a keyboard with keys 
outside the current locale codepage".

Tools - Add "perform Windows' reboot operations automatically when 
required".

Under "Low priority" add "Windows ACL support".

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Bidi B patch

2003-06-25 Thread Shachar Shemesh
Alexandre Julliard wrote:

Shachar Shemesh <[EMAIL PROTECTED]> writes:
 

First I want to clarify something. Nothing in this email is meant to
suggest that I think the bidi change should, in any way, depend on
this issue. If you want, I can even amend my patch.
   

Yes please.
 

Wilco.

Only because we add "-I." to the compilation flags. Adding "-I." to
the compilation flags should not be necessary.
   

It is necessary, this has been discussed before.
 

I'll try to find the discussion (if someone has a handy pointer - it 
would be greatly apretiated), but if it turns out that it is necessary 
because we use "" instead of <>, I don't think that counts ;-)

In any case, it makes much sense to me not to place non-exported
headers in include. The idea is that you can tell packagers to take
the entire "include" directory and ship it. Unless I misunderstand,
and winelib apps actually NEED gdi.h, we do not wish to have it
packaged. This leaves packagers with zen decisions - not a good thing.
   

gdi.h will be moved to dlls/gdi at some point. Which of course means
that if we do things the way you suggest we then need to go back into
all files and change <> back to "".
 

No. It just means we shouldn't change it to <>, now or ever.

The fact is that all our source files use "" for
both internal and exported headers, and we are not going to change all
of them.
 

Why not, really?
   

Because it isn't broken. We need to fix exported headers to use <>
since it can make a difference in Winelib apps that use them; but in
Wine source files "" works just as well as <>.
 

Ok, how about if I send you a perl program that goes over the wine 
include folder, searches for each file found there in the MS SDK, and 
builds a list of exported headers. It will then go over the wine source, 
and change only those headers from "" to <>. This way, no manual work, 
no changing "" to <> and then back (as gdi.h will, obviously, not be in 
that list), and we have a clear consistant policy that makes sense. This 
also solves the winelib problem you mentioned.

Alexandre, I only partially agree. I think the current situation,
where "" and <> behave the same, is an undesireable one. We want to be
able to tell packagers to grab the entire /include directory with no
fear (libwine-devel.rpm anyone?).
   

Yes, include/ should contain only exported headers, it's part of the
dll separation work, we are getting there. It's completely orthogonal
to whether we use <> or "" to include them.
 

I can see why you say that, but I feel it narrows the discussion down to 
technical (will or will not compile) consideration only. I think that we 
also need to show commitment to separating inner from exported, and 
this, to me, means the source too.

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Bidi B patch

2003-06-25 Thread Shachar Shemesh
First I want to clarify something. Nothing in this email is meant to 
suggest that I think the bidi change should, in any way, depend on this 
issue. If you want, I can even amend my patch.

Alexandre Julliard wrote:

Shachar Shemesh <[EMAIL PROTECTED]> writes:
 

The reason I did was to reduce confusion. The usual includes are
standard includes, and can be included with either <> or "". The new
include (gdibidi.h) is a local include, and can only be included with
"". To differentiate the two, I changed those who could afford a <>.
   

Local includes can be included with <> too,

Only because we add "-I." to the compilation flags. Adding "-I." to the 
compilation flags should not be necessary.

there's no reason to make
a distinction.
Well, there is the minor point of "what do I mean by...". I don't think 
semantic hints are something to be discarded so easily.

And some of the headers in include/ are actually
internal, like gdi.h (actually I would argue that bidi definitions
should go there).
I placed them under the GDI directory, following what I thought was 
someone else's example. As chance would have it, I don't know what was that.

In any case, it makes much sense to me not to place non-exported headers 
in include. The idea is that you can tell packagers to take the entire 
"include" directory and ship it. Unless I misunderstand, and winelib 
apps actually NEED gdi.h, we do not wish to have it packaged. This 
leaves packagers with zen decisions - not a good thing.

The fact is that all our source files use "" for
both internal and exported headers, and we are not going to change all
of them.
Why not, really? I made the original change under the recollection that 
changing them all was, in fact, the future plan. As such, I though I'll 
mark this particular file as "already translated", so that they know not 
to change "gdibidi.h", and thus break compilation.

Changing only a few here and there creates a lot more
confusion than it solves.
 

Alexandre, I only partially agree. I think the current situation, where 
"" and <> behave the same, is an undesireable one. We want to be able to 
tell packagers to grab the entire /include directory with no fear 
(libwine-devel.rpm anyone?). We don't want it to hold directories not 
available for the standard windows. In order to enforce this 
distinction, we need to remove the "-I." from the compilation options. 
The last stage, of changing "" to <> can then happen slowly.

Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Bidi B patch

2003-06-25 Thread Shachar Shemesh
Alexandre Julliard wrote:

Shachar Shemesh <[EMAIL PROTECTED]> writes:

 

-#include "config.h"
-#include "wine/port.h"
+#include 
+#include 
#include 
#include 
#include 
-#include "winerror.h"
-#include "winnls.h"
-#include "wownt32.h"
-#include "gdi.h"
-#include "wine/unicode.h"
-#include "wine/debug.h"
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include "gdibidi.h"
   

Please don't change include quotes when modifying a file. It's not
necessary, and only adds confusion.
 

The reason I did was to reduce confusion. The usual includes are 
standard includes, and can be included with either <> or "". The new 
include (gdibidi.h) is a local include, and can only be included with 
"". To differentiate the two, I changed those who could afford a <>.

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: win.ini _3_ bounced and I have no idea why ????????????????

2003-06-24 Thread Shachar Shemesh
Quoting Tom <[EMAIL PROTECTED]>:

> I am in favor of a bounced patch list ... And how this would work 
> is.. in short
> if Alexandre thinks someones patch sucks he would re-direct it to a 
> bounced list
> and a very short answer why he thinks it sucks.. Then we would 
> know if our patch is on que
> or on the sucks list :))  And why he thinks it should be there .
> 
> Then no one woul'd have to wonder !! Well only wonder how to fix our 
> crapy patch so it will get excepted
> the next time that is..
> 
> Anyone have any comments ?
> 
> Tom

Two comments:
A. While I agree this would create a pleasenter environment for the patch
submitters, this would not solve the problem of forgotten patches. You will
still not be able to "launch and forget" your patches, as they may simply be
overlooked by mistake.
B. Any scheme that looks solely at the benefit to one side, but requiring extra
work from another side, is really not up to us to decide upon. If Alexander
believes he is up to forwarding to such a list, this list will happen. If
Alexander thinks this is more work than he is capable of, he won't.

In any case, I believe the subject only comes up after Alexander takes a
vacation, and patches pile up. I think a simple policy where Alexander PROMISES
that he will send a short email saying "as far as I'm concerned, all patches
submitted more than 48 hours ago have been processed" will let us all know that
this is the time to search for our patch in the latest CVS, and decide whether
to resubmit, fix and resubmit, or ask for reasons for the reject.

I don't think a reject list is necessary for the standard case.

Shachar



Re: win.ini _3_ bounced and I have no idea why ????????????????

2003-06-24 Thread Shachar Shemesh
Tom wrote:

Hi,

Okay it looks as if my last win.ini patch bounced
may I ask why ?
If there is a problem with it I will be more than glad to
send a patch to fix it.
I just need to know what is wrong with it.. I know
the second one was a little over done :)  but what is wrong with this 
one ??

last patch = 
http://www.winehq.org/hypermail/wine-patches/2003/06/att-0147/01-win.ini_3_.diff 



Tom
Hi,

I /THINK/ Alexander has not finished handling his backlog yet. I know I 
have some patches that I'm still waiting to see them go in, and a patch 
that I have already given up on, that suddenly got merged. I just wish 
Alexander would commit to saying "my backlog is now clear - let me know 
if anything is missing", which would make us all a bit easier on the 
patch list.

     Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




UTF-8 keyboard?

2003-06-21 Thread Shachar Shemesh
d:X11DRV_ToUnicode Found keycode 45 (0x2D)
trace:keyboard:X11DRV_ToUnicode NumLockMask = 0010
trace:keyboard:X11DRV_ToUnicode AltGrMask = 2000
trace:keyboard:X11DRV_ToUnicode Found keycode 30 (0x1E)
trace:keyboard:X11DRV_ToUnicode NumLockMask = 0010
trace:keyboard:X11DRV_ToUnicode AltGrMask = 2000
trace:keyboard:X11DRV_ToUnicode Found keycode 32 (0x20)
That is - no errors, but I don't get any characters on screen either.

When running this with locale he_IL, I get this:

trace:keyboard:X11DRV_KEYBOARD_DetectLayout detected layout is 
"Israeli keyboard layout"
trace:keyboard:X11DRV_InitKeyboard OEM specific virtual key DF 
assigned to keycode 54:
trace:keyboard:X11DRV_InitKeyboard (FF9D (KP_Begin) FFB5 (KP_5) 0 
(NoSymbol) 0 (NoSymbol) )
trace:keyboard:X11DRV_InitKeyboard OEM specific virtual key E0 
assigned to keycode 73:
trace:keyboard:X11DRV_InitKeyboard (FFEB (Super_L) FFEB (Super_L) 0 
(NoSymbol) 0 (NoSymbol) )
trace:keyboard:KEYBOARD_MapDeadKeysym no character for dead keysym 
0xfe08
trace:keyboard:KEYBOARD_MapDeadKeysym no character for dead keysym 
0xfe08
trace:keyboard:X11DRV_InitKeyboard OEM specific virtual key E1 
assigned to keycode 75:
trace:keyboard:X11DRV_InitKeyboard (FF67 (Menu) FF67 (Menu) 0 
(NoSymbol) 0 (NoSymbol) )
trace:keyboard:X11DRV_KeyEvent Adjusting NumLock state.
trace:keyboard:KEYBOARD_GenerateMsg OFF + Keypress => generating DOWN 
and UP messages.
trace:keyboard:KEYBOARD_GenerateMsg INTERM : don't treat release of 
toggle key. InputKeyStateTable[0x90] = 0x1
trace:keyboard:X11DRV_ToUnicode NumLockMask = 0010
trace:keyboard:X11DRV_ToUnicode AltGrMask = 2000
trace:keyboard:X11DRV_ToUnicode Found keycode 77 (0x4D)
trace:keyboard:KEYBOARD_MapDeadKeysym no character for dead keysym 
0xff7f
trace:keyboard:X11DRV_ToUnicode NumLockMask = 0010
trace:keyboard:X11DRV_ToUnicode AltGrMask = 2000
trace:keyboard:X11DRV_ToUnicode Found keycode 38 (0x26)
trace:keyboard:X11DRV_ToUnicode NumLockMask = 0010
trace:keyboard:X11DRV_ToUnicode AltGrMask = 2000
trace:keyboard:X11DRV_ToUnicode Found keycode 45 (0x2D)
trace:keyboard:X11DRV_ToUnicode NumLockMask = 0010
trace:keyboard:X11DRV_ToUnicode AltGrMask = 2000
trace:keyboard:X11DRV_ToUnicode Found keycode 30 (0x1E)
trace:keyboard:X11DRV_ToUnicode NumLockMask = 0010
trace:keyboard:X11DRV_ToUnicode AltGrMask = 2000
trace:keyboard:X11DRV_ToUnicode Found keycode 32 (0x20)
Characters do appear on screen, this time. Could it just be that edit 
control (I'm using notepad to test this) does not support UTF-8?

Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Status Page Dll's --My Status :)

2003-06-16 Thread Shachar Shemesh
Gregory M. Turner wrote:

So, maybe the percentage should, indeed, go higher, to 80% or what-have-you 
(I'd still like to finish split cabs, and build some tests, before we go 
bumping the completion percentage).

It won't reach 100% until it's ready. That aside - this is an OpenSource 
project. You decide what your itch is.

 Visual Studio seems to statically link 
against cabinet.dll anyhow -- it's quite possible it wouldn't come up much at 
all -- maybe in WinZip or something.

I doubt winzip is using any of MS's compression, but I may be wrong 
here. Check your assumptions against real life is my advice.

 Certainly the most urgent need for this 
implementation is to get various installers working, which AFAIK only 
requires decompression.

Btw, there are some setupapi APIs which ought to be trivial to bang out once 
the FDI APIs are in place... I think they are all decompression-only, which 
would tend to strengthen the argument that the majority of the utility of the 
dll is in the decompression APIs.
 

It appears that where work/result is concerned, decompression is the 
most important part.

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Status Page Dll's --My Status :)

2003-06-16 Thread Shachar Shemesh
Gregory M. Turner wrote:

But encoding is inherently harder to implement than 
decoding (there's a lot more "to do", and usually no single right answer, so 
you never know when you're done).

Ah?

Every book, software and piece of common knowledge tells me that 
decoding is WAY more difficult. "Be restrictive in what you produce, and 
permissive in what you accept" means that, when decoding, you need to 
accept broken encodings too, as well as encodings that took a different 
path than the one you would take (different algorithm, different 
paramters, optional parameters, etc). When encoding, you need to select 
a single path and go that way.

 I own a nice book on compression, and I 
could do this code, but also I would be implementing from scratch instead of 
borrowing from others... so if these percents measure man-hours, we very well 
might be at more like 15%!

I think there is no definite answer, but the general gist is that we 
measure usability.

        Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Bidi B4

2003-06-16 Thread Shachar Shemesh
Hi Alexander,

Please let me know if my patch series was rejected, and if so, why.

If your'e just not over the backlog yet, I appologize for the noise.

Shachar

Shachar Shemesh wrote:

Apply against previous patches, using -p1

Changelog:
Shachar Shemesh <[EMAIL PROTECTED]>
   * Fix compilation errors when ICU library is not available.



--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: DEVENUM.DLL Implementation

2003-06-11 Thread Shachar Shemesh
Lionel Ulmer wrote:

Well, if you want to start work on Quartz, feel free to do it, you would be
our saviour (to all the gamerz out there who cannot have intro / cutscene
movies due to the missing Quartz stuff in Wine).
 

How do you get the game to run, then?

I have a game (Rubik's playground) that won't start because the start 
movie can't load.

    Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: loading and running windows dlls in a linux program

2003-06-06 Thread Shachar Shemesh
Stefan Sperling wrote:

Will this affect my whole app or can I tuck the winelib dependency away in a seperate 
module?
Again, I bet there's a lot of documentation on that in the sheer amount of wine docs, 
is there?
Stefan
 

This will, in fact, affect your entire app. You can, however, create a 
stub utility. This stub will be the winelib. You should be able to use 
it from a regular ELF exec, and communicate with the PE DLL that way. 
Not sure what the implications be in your case, however.

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Wineconf??

2003-06-06 Thread Shachar Shemesh
Keith Matthews wrote:

On Thu, 5 Jun 2003 11:25:32 -0700 (PDT)
hatky <[EMAIL PROTECTED]> wrote:
 

I suggest we hold in Tel-Aviv. I'll organize the
place.
 

I am for it ;-)

Hatky.
   



No no no. The ultimate threat - Baghdad
 

Baghdad is probably not as frightening as it used to be. I would have 
suggested Teheran (would be a great chance to visit FriBidi's 
maintainer), but this is only REALLY frightening to Israelies. I guess 
Havana would be a good place in that respect `-)

Damn, we are running out of good conflict points in the world (either 
that, or everything is becoming equally unsafe).

Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Wineconf??

2003-06-06 Thread Shachar Shemesh
Jeremy White wrote:

You've hit the nub of it.  Someone needs to step up and organize it; 
That's where I'm at a tough spot.

On the one hand I really want it to be somewhere that is reasonable for 
me to get to. The US are DAMN expensive to travel to from where I am.

On the other hand, noone from France or Germany seems to be taking the 
initiative.

Normally, I would take the initiative myself, only I'm afraid the places 
I can organize wouldn't rank too much higher than Liberia. Leaving the 
political discussion out of it, this would mean that the conference 
would be meaningless. So all I am left with is pleading someone else to 
take the initiative.

     Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: [FYI] Vacation

2003-06-06 Thread Shachar Shemesh
Dimitrie O. Paun wrote:

Folks,

I'm leaving for vacation today for a month, I'll be back July 7th.
I'll probably read my email from time to time, but I will not be
very active on the lists.
All the best, and I'll see you soon! (maybe Wineconf? :))

 

No way!! You cannot go on vacation before Alexander returns. The two of 
you are 85% of the wine development force :-)

Oh well, let's just push 0.9 back another month...

     Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: loading and running windows dlls in a linux program

2003-06-05 Thread Shachar Shemesh
Stefan Sperling wrote:

But I can see what functions are being called in the object code (thanks nm).
Three of which come from wine:
LoadLibraryA
GetProcAddress
FreeLibrary
 

Hi Stefan.

What you just saw is the bare minimum you need in order to load a 
library. I'm afraid, however, that it is far from all you need.

First, when you load another library, that library may need any DLL at 
all. In order to assess how much of Wine you need, you need to also look 
at the DLLs loaded. Also, please bear in mind that GetProcAddress can 
load other functions, and those functions called.

Are these all I need?

Almost defenitely not.

In theory, this looks about enough to be able to load
a shared object... but I will need a lot of other wine internals too,
in case a dll does a system call (like malloc, which will definitely happen),
won't I?
Yes. That can, potentially, grow to be the entire rest of Windows. Most 
likely, however, by looking at the DLLs loaded, you can narrow that 
down, somewhat.

What happens if I pass a pointer to a method contained in a windows
dll?? Will wine take care about low level stuff like keeping track
of memory layouts of structs and convert them if they are incorrect?
More precisely: If I reimplement data structures external to the dll but 
used by it, will the difference in memory layout between the original 
struct the dll expects and my new implementation under linux matter?

Sometimes.

The theory goes thus:
An ELF binary can only call other ELF binaries.
A PE (Windows) binary can only call other PE binaries.
Wine invented something called "winelib executable". This is an ELF 
library that can also link to PE DLLs. It appears that your best bet, if 
you don't want to embark on massive copy/paste activity, is to create 
your util as a winelib. There are some disadvantges to that as well (a 
dependancy on Wine, for one). I'll let someone who's actually worked 
with winelib answer those parts, however.

Thanks
stefan
 

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Wineconf??

2003-06-05 Thread Shachar Shemesh
Dimitrie O. Paun wrote:

Actually, I think Toronto is a good place. It has a big airport,
(which means most people can get direct flights) it is kinda in 
the middle between West coast and Europe, it is cheap, clean, safe,
and fun. You get to see the CN Tower, and Niagara falls is only 1.5h
away. If you like to eat, there are excellent restaurants for any
cuisine imaginable, which is always nice.

The weather is not great in the winter, but falls are absolutely
gorgeous (but short :)). We get nice weather in Sep, even Oct though.
Something to consider...
 

Where's the fun in taking everything we say seriously?

I think Europe is the best compromise for people on most parts of the 
world. It has direct flights from almost everywhere (are there any New 
Zeland/Australia/Antartica Wine developers? I'm also not sure about 
South America).

On a side note - I'm not sure I will be able to afford a conference in 
the Americas.

The thing I was trying to say, however, is that with August approaching, 
if we want a conference around that time, someone had better start 
organizing it. I don't mind being that someone, but then you will get a 
conference in Tel Aviv. Personally, I think most Wine members should be 
more worried about the weather in Tel Aviv in August than about anything 
else (hot and humid. Not New York grade bad, but not very far either), 
but somehow I (sadly) suspect not many will arrive anyways. As such, 
maybe it's best if someone else organized it.

If people are REALLY worried about Tel Aviv, I can offer Jerusalem, 
where it isn't so humid (plus the city itself is beutiful, and you are 
only an 1.5h drive away from all those wonderful places you got to hear 
about in the news).

       Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Wineconf??

2003-06-05 Thread Shachar Shemesh
Jeremy White wrote:

There has been no decision on it.  My threat to hold it in
Minnesota in January was not sufficiently intimidating,
apparently .
I think I give a better threat, then.

I suggest we hold in Tel-Aviv. I'll organize the place.

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Wineconf??

2003-06-05 Thread Shachar Shemesh
Hi,

So, what was the decision regarding wineconf? Are we going to have it? 
Where? When?

I'm trying to organize a local Linux conference (called "August Penguin" 
- try to guess which month that's going to be in. No no, guess). It 
would be really embarresing if, in the end, I won't be able to atend 
either conferences.

    Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Add root drive mapping to default config file

2003-06-03 Thread Shachar Shemesh
Mike Hearn wrote:

Because mapping '/' by default is plain ugly in my opinion... It's like
shipping some server application with a default blank password :-)
   

Can't agree, I'm not seeing the security problem here. 

Unless you subscribe to the belief that too many Win32 programs have
spyware that would be interested in gigs of ELF binaries and config
files (as they would be able to see drives/network mappings under
windows anyway), I don't see what harm it could do.
 

Just wanted to go on record backing Lionel. I am against mapping the 
root of the drive to Wine. There have been cases in the past (even 
published on Slashdot), when people using Wine were infected with 
document sending viruses. In that case, the root mapping meant things 
got out.

Mapping the root is a bad security decision, even if we don't see the 
exact attack vector at the moment.

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Bidi B2 - GetCharacterPlacement order array

2003-06-03 Thread Shachar Shemesh
Dimitrie O. Paun wrote:

On Mon, 2 Jun 2003, Shachar Shemesh wrote:

 

Seems like it's not my day for URLs.

http://shemesh.biz/lecures.html
   

  ^t^

No, it really isn't :P

 http://shemesh.biz/lectures.html

 

I told you it's not my URLs day.

I'll go to sleep now, if you don't mind.

     Sh.

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Bidi B2 - GetCharacterPlacement order array

2003-06-03 Thread Shachar Shemesh
Shachar Shemesh wrote:

David Laight wrote:

Be aware that strncyp() rarely DTRT, in particular:
- it doesn't guarantee to zero terminate the target
- it is required to zero fill the target buffer
Neither of these is usually desirable.
Well aware of both. Thanks. I'm routinely giving lectures about them 
(http://shemesh.biz/lectures).
Seems like it's not my day for URLs.

http://shemesh.biz/lecures.html

     Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/





Re: Bidi B2 - GetCharacterPlacement order array

2003-06-03 Thread Shachar Shemesh
David Laight wrote:

Be aware that strncyp() rarely DTRT, in particular:
- it doesn't guarantee to zero terminate the target
- it is required to zero fill the target buffer
Neither of these is usually desirable.
Well aware of both. Thanks. I'm routinely giving lectures about them 
(http://shemesh.biz/lectures).

Since the buffer is not zero terminated to begin with, 1 is not a 
problem. Since the loop that strncpy replaces copied n bytes over from 
the old buffer to the new one, neither is 2. This does impose the 
theoretical problem that if the original string WAS zero terminated, and 
the NULL was not the last WCHAR in the buffer, we change the semantics. 
I doubt very much, however, that you will find a program that relies on 
this. I don't even know what Windows does under the same circumstances.

Many systems have a strlcpy() function which does what you want much
more often.
Well aware of that too. strncpy is really the most fitting here. Trust me.

OTOH is the target buffer can be too short with valid data, they you
need to (typically) dynamically allocate a buffer.
Not applicable to GetCharacterPlacement.

	David
 

Thanks.

    Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Wine packages

2003-06-02 Thread Shachar Shemesh
puoti wrote:

Hi,
I've read the wwn n° 171, I'm the one that builds the sourceforge wine packages
for Mandrake, I just want to ask if you can please let me know when you add bidi
support to wine, what headers I must install, and if I have to add any explicit
options to configure, so I can build wine rpms with bidi support, best regards,
Ivan.
 

Hi Ivan,

First, I'm forwarding your email to the list. I hope you don't mind. I 
think other people may find it useful.

I have to say that these weekly news are doing their job great!

I have already sent in the patches. They were not included, mostly 
because Alexander is away.

When they are included, you will need any fairly recent ICU installed 
locally on your machine. You can get the sources for the library at 
http://oss.ibm.com/icu/. I would go for their latest released version 
(2.5), rather than the beta. Unfortunetly (and this has been a major 
consideration against using it, but other factors were stronger), ICU 
has no packages for platforms other than Debian.

You don't have to give configure any explicit option (well, assuming 
Alexander doesn't change anything, that is). Notice that you actually 
need to compile ICU, however. Merely adding the headers is not enough, 
as it is STATICALLY linked to gdi. On the bright side, this doesn't add 
any difficult dependancies to wine.

Hope this helps,

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Resources page updates........

2003-06-01 Thread Shachar Shemesh
Tom wrote:

Hello,

I was looking over the Resource page : 
http://www.winehq.com/?page=resources
And ive found we are linked to some ... not alot but a couple 404's
For example under "WIN 32"  _Win 32 API Intro_  .. We have : 
http://msdn.microsoft.com/library/en-us/win32/win32start_1xyd.asp
and it is one of the 404 sites.. I would like to change this to : 
http://www.winprog.org/tutorial/

So the question is ???

On all the 404's if I find a equivalent to what we now have is 
it alright with everyone
if I send a patch to fix this ? ( I would only guess yes )

Ive also found some sites that have the same info that were pointing 
to.. And there more upto
date than the ones that we currently point to. I would like to also 
update there links as well.

I'm just asking here for thoughts/insight ..
If there are no objections ill work on this patch monday.. lots of 
lead time right :)

Tom


Hi Tom,

Your'e going about it the wrong way. From my experience, it usually take 
the same time to ask about things and to actually do them. Next time, do 
the later. If anyone objects (and yes, some people actually read those 
patches you send), they will let you know.

This is a free software project. The vote always goes with the people 
who send the diffs.

     Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Bidi B3 - GetCharacterPlacement final cleanups

2003-06-01 Thread Shachar Shemesh
Andreas Mohr wrote:

Hi,

On Sat, May 31, 2003 at 06:49:57PM +0300, Shachar Shemesh wrote:
 

Apply with -p1

Changelog:
Shachar Shemesh <[EMAIL PROTECTED]>
  * Removed all redundant "GetCharacterPlacement" code from the
internal reordering function. WINE_BiDi_reorder now does only that.
  * Removed all reordering code from "GetCharacterPlacementW". It now
has only the non-reordering stuff, calling "WINE_BiDi_reorder" for
the reordering code.
   

Nice ChangeLog!

And... what am I supposed to apply with -p1 here? Your mail or what? :)

Andreas Mohr
 

I just wrote the changelog, isn't it clear what the actual patch should be?

Ok, so for all those of you with no imagination, here is the actual 
patch. Happy?? Hah??

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/
diff -u -r -x '*.o' -x CVS wine.ref/dlls/gdi/bidi.c wine/dlls/gdi/bidi.c
--- wine.ref/dlls/gdi/bidi.c2003-05-31 12:49:58.0 +0300
+++ wine/dlls/gdi/bidi.c2003-05-31 15:52:20.0 +0300
@@ -48,56 +48,20 @@
 return BidiAvail;
 }
 
-DWORD Wine_GCPW(HDC hdc,/* [in] Device context for which the rendering is to 
be done */
+BOOL Wine_BiDi_reorder(
 LPCWSTR lpString,   /* [in] The string for which information is 
to be returned */
-INT uCount, /* [in] Number of WORDS in string. */
-INT nMaxExtent, /* [in] Maximum extent the string is to take (in HDC 
logical units) */
-GCP_RESULTSW * lpResults,   /* [in/out] A pointer to a 
GCP_RESULTSW struct */
-DWORD dwFlags,  /* [in] Flags specifying how to process the string */
-DWORD dwWineGCP_Flags   /* [in] Wine internal flags - Force 
paragraph direction */
+INT uCount, /* [in] Number of WCHARs in string. */
+DWORD dwFlags,  /* [in] GetCharacterPlacement compatible flags 
specifying how to process the string */
+DWORD dwWineGCP_Flags,   /* [in] Wine internal flags - Force 
paragraph direction */
+LPWSTR lpOutString, /* [out] Reordered string */
+INT uCountOut,  /* [in] Size of output buffer */
+UINT *lpOrder /* [out] Logical -> Visual order map */
 )
 {
-DWORD ret = 0;
-SIZE size;
-UINT i, nSet;
-
-TRACE("%s, %d, %d, 0x%08lx\n",
-  debugstr_wn(lpString, uCount), uCount, nMaxExtent, dwFlags);
-
-TRACE
-("lStructSize=%ld, lpOutString=%p, lpOrder=%p, lpDx=%p, lpCaretPos=%p\n"
- "lpClass=%p, lpGlyphs=%p, nGlyphs=%u, nMaxFit=%d\n",
- lpResults->lStructSize, lpResults->lpOutString,
- lpResults->lpOrder, lpResults->lpDx, lpResults->lpCaretPos,
- lpResults->lpClass, lpResults->lpGlyphs, lpResults->nGlyphs,
- lpResults->nMaxFit);
-
-if (dwFlags & (~GCP_REORDER))
-FIXME("flags 0x%08lx ignored\n", dwFlags);
-if (lpResults->lpCaretPos)
-FIXME("caret positions not implemented\n");
-if (lpResults->lpClass)
-FIXME("classes not implemented\n");
-
-nSet = (UINT) uCount;
-if (nSet > lpResults->nGlyphs)
-nSet = lpResults->nGlyphs;
-
-/* return number of initialized fields */
-lpResults->nGlyphs = nSet;
-
-if (dwFlags == 0) {
-/* Treat the case where no special handling was requested in a fastpath way */
-/* copy will do if the GCP_REORDER flag is not set */
-if (lpResults->lpOutString)
-for (i = 0; i < nSet && lpString[i] != 0; ++i)
-lpResults->lpOutString[i] = lpString[i];
-
-if (lpResults->lpOrder) {
-for (i = 0; i < nSet; i++)
-lpResults->lpOrder[i] = i;
-}
-}
+TRACE("%s, %d, 0x%08lx\n",
+  debugstr_wn(lpString, uCount), uCount, dwFlags);
+
+TRACE("lpOutString=%p, lpOrder=%p", lpOutString, lpOrder );
 
 if ((dwFlags & GCP_REORDER) != 0) {
 UBiDi *bidi;
@@ -108,7 +72,7 @@
 if( bidi==NULL ) {
 WARN("Failed to allocate structure\n");
 SetLastError(ERROR_NOT_ENOUGH_MEMORY);
-return 0;
+return FALSE;
 }
 
 switch( dwWineGCP_Flags&WINE_GCPW_DIR_MASK )
@@ -128,13 +92,13 @@
 }
 
 ubidi_setPara( bidi, lpString, uCount, level, NULL, &err );
-if( lpResults->lpOutString!=NULL ) {
-ubidi_writeReordered( bidi, lpResults->lpOutString, uCount,
+if( lpOutString!=NULL ) {
+ubidi_writeReordered( bidi, lpOutString, uCount,
 (dwFlags&GCP_SYMSWAPOFF)?0:UBIDI_DO_MIRRORING, &err );
 }
 
-if( lpResults->lpOrder!=NULL ) {
-ubidi_getLogical

Re: Bidi B2 - GetCharacterPlacement order array

2003-06-01 Thread Shachar Shemesh
Dimitrie O. Paun wrote:

On May 31, 2003 05:45 am, Shachar Shemesh wrote:
 

+/* Treat the case where no special handling was requested in a
fastpath way */ +/* copy will do if the GCP_REORDER flag is not set
*/
+if (lpResults->lpOutString)
+for (i = 0; i < nSet && lpString[i] != 0; ++i)
+lpResults->lpOutString[i] = lpString[i];
   

What about a strncpy here:

+if (lpResults->lpOutString)
+strncpyW(lpResults->lpOutString, lpString, nSet);
 

Probably a good idea. These lines predate my involvment in Wine, so I 
did not touch them under the "it works" discipline. I copied them over 
from objects/font.c (GetCharacterPlacementW), and I'm sending out 
another cleanup patch that removes these lines. I'll fix the upstream 
copy, if you think it's woth it (I am touching that function anyways).

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Generating incremental diffs

2003-05-30 Thread Shachar Shemesh
Johan Dahlin wrote:

I tried running "diff -u -r wine.ref wine". The problem is that this 
generated tons of diffs in files in the "CVS" directory. Don't ask me 
why there were differences there.
   

This is the right way, you just have to tweak the arguments to diff or
grep away some stuff (CVS for example).
Use -x or -X options combined with grep [-v]

-x PAT  --exclude=PAT   Exclude files that match PAT.
-X FILE --exclude-from=FILE Exclude files that match any pattern in FILE
 

Thanks! I must have misread the documentation. Programing at half past 1 
AM is not as effective as it might be.

     Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Generating incremental diffs

2003-05-30 Thread Shachar Shemesh
I need to generate diffs between my previous patch and the current one. 
Unsuprisingly (as Alexander is on vacation), the previous patch was not 
applied.

When diffing against CVS, I usually just do "cvs diff -u". In this case, 
I have checked out a new tree from CVS, applied the old diff on that 
tree (so I have a tree that is the way CVS would look if my previous 
patch was applied). Now what?

I tried running "diff -u -r wine.ref wine". The problem is that this 
generated tons of diffs in files in the "CVS" directory. Don't ask me 
why there were differences there.

Any other ideas? I know other people have done this before...

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Wine folks interested in a CHM spec?

2003-05-29 Thread Shachar Shemesh
Mike Hearn wrote:

Anyway, as to maintainership, this is a good question. But how comes
adding a clone of IE is nuts, but the rest of Wine is sane, hmm? :) This
whole thing is completely crazy to some extent, but here we are in 2003
with two companies working on Wine and many volunteers it would
probably require a D3D style dedicated team to work on it though, which
so far doesn't exist.
 

Oh no - you open software developers are off your head! Next thing you 
will be developing a .NET replacement! Wait, you are. Hmm, nobody will 
be crazy enough to work on an entire GUI shell, though. Two you said? 
Not including the small ones? Not a modern OS, though. HOW many? Surely 
none is enterprise ready! What precentage of web servers? PEOPLE! GET A 
LIFE

Good thing I'm not part of it.





What do you mean by "grep wine/AUTHORS"?

AARGH

P.S.
Yes, I spent the day working on a perl util to convert an MSSQL DB to 
postgres for a client (yes, I'm getting paid to do this, at least, I 
hope does anybody happen to know something that does that already?). I 
think expecting any USEFUL mails from me would be a total waste of time. 
Sorry for the OT posts.

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Wine folks interested in a CHM spec?

2003-05-29 Thread Shachar Shemesh
Mike Hearn wrote:

Unfortunately, it seems KWQ is mostly MacOS specific. It's written in
Objective C++, a language I didn't even suspect the existance of until I
read the sources. Example:
 

...

As if C++ wasn't hard enough to read already!
 

On a 100% unrelated note, and since this list does not have LKML's 
faschist charter, I'll go really OT and mention that Objective-C was 
developed parallel to C++, so any attempts to claim that it was 
redundant are a little hind-site oriented. Major IIRC disclaimer here, 
of course.

     Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: little WWN problem

2003-05-27 Thread Shachar Shemesh
Dimitrie O. Paun wrote:

Hi folks,

How come "The top 5 posters of the week" are almost always screwed up:

1. 28 posts in 68K by Alexandre Julliard 
2. 35 posts in 89K by Dimitrie O. Paun 
3. 18 posts in 41K by Gerhard W. Gruber 
4. 11 posts in 91K by Mike Hearn 
5. 1 posts in 3K by Shachar Shemesh 

What? Don't you think a single post should award me top poster?? You 
don't like me any more??? Nobody likes me any more Nobody ever liked 
me!

I now return you to your usual boadcast.

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Building documentation start

2003-05-27 Thread Shachar Shemesh
Francois Gouget wrote:

On Tue, 27 May 2003, Shachar Shemesh wrote:

 

This includes the begining of a Build doc in wine-devel. It also
contains a list of the soft-dependancies I spotted, and urging the
packagers to consider this list.
   

This section does not belong in the Winelib guide. The Winelib guide
deals with how to compile Windows applications using Wine, not how to
compile Wine itself.
Phew! Good thing I placed it in wine-devel, then :-)

This list of dependencies would fit better in the PACKAGING guide,
between the REQUIREMENTS and WINE COMPONENTS sections.
I know. I'm thinking of just placing a comment there that directs 
packagers to the wine-*devel* docs.

You could also add something like this to the REQUIREMENTS section:

   * A build system satisfying all Wine's soft and hard dependencies so
 that the resulting Wine package has all Wine's features.
 

I'm not sure about the hard dependancies. I don't feel comfertable 
recommending to packagers to depend on hard dependancies, as that 
changes what is ultimatly needed to install the package. I think hard 
dependancies are up to the packager to decide whether she wants them in 
or not. Soft dependancies, on the other hand, have very little, if any, 
reason to be excluded.

You may also want to point to this section from the README's
'COMPILATION' section.
 

Could be a good idea, yes.

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: REMOVE ME

2003-03-24 Thread Shachar Shemesh
Javier López wrote:

Hello, please wanted that they removed me of his list of post office, 
since he is something very disagreeable, arrive approximately 20 to me 
at 30 daily e-mail and no longer I support it, my square is fulled. 
Please Remove ME OF ITS LIST!
Hi Javier,

In order to be removed, please send an email to 
[EMAIL PROTECTED] with a subject of "unsubscribe", and 
follow the instructions from there.

Everyone else - I think it's time to update the counters on the web 
site. They are horribly out of date. Wine has experienced a wonderful 
expansion over the past year, but this means that we can no longer claim 
that wine-devel is 25 msg/day (more like 35msg/day on my unofficial 
counting), nor wine-patches 8msg/day (more like 20msg/day). This growth 
is really impressive, but we really need to update the counters accordingly.

   Shachar

P.S.
I have been walking around with the feeling that wine is reaching it's 
growth flex point (where development suddenly accelerates) for quite 
some time. Comparing the numbers claimed on wine-patches to the real 
numbers shows over 100% of growth in the amounts of fixes people send 
in.  This shows that we are finally heading torwards the so desired beta 
stage.

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Error in CVS

2003-03-24 Thread Shachar Shemesh
Try running "cvs up -Pd". A directory recently added to CVS did not make 
it into your directory structure, which generally means that you have 
not asked for new directories (-d option).

 Shachar

Vilppa Salt wrote:

When running ./configure with latest cvs Wine:


config.status: creating dlls/ctl3d/Makefile
config.status: creating dlls/d3d8/Makefile
config.status: creating dlls/d3dim/Makefile
config.status: creating dlls/d3dx8/Makefile
config.status: creating dlls/dciman32/Makefile
config.status: creating dlls/ddraw/Makefile
config.status: creating dlls/devenum/Makefile
config.status: creating dlls/dinput/Makefile
config.status: creating dlls/dinput8/Makefile
config.status: creating dlls/dmusic/Makefile
config.status: error: cannot find input file: dlls/dmusic/Makefile.in
---
Vilppa-
Sunpoint.net ilmoittaa:
Sunpoint.net tarjoaa kaikille rekisteröityneille käyttäjilleen kuukausimaksuttoman 
Internet -yhteyden (pvm).
http://www.sunpoint.net/SunAds/click.htm?mode=footer&id=71&jump=http%3A%2F%2Fwww.sunpoint.net
 



--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: wine server and services ...

2003-03-22 Thread Shachar Shemesh
I guess you can blame the war for some of the delay with that (I live 
about where Saddam has aimed most of his scuds 12 years ago - I was more 
into launch probabilities and trying on gas masks than wineboot lately).

It basically boils down to this - wineserver has not started any 
synchronous wine utils in the past (the font generation is performed, as 
far as I can tell, in the server context itself), and the whole thing is 
taking time and patience to sort out. If all you want is asynchronous 
services starting, that's easy (I practically have the code lying around 
somewhere). If you want services to start halting other processes before 
they start - that's going to be tricker.

In any case, you can merge that right into wineboot itself. It currently 
has several command line options that control how it starts. One of the 
option is to do a full session startup, and another is to do just the 
pre-login startups (that one doesn't have a command line yet, but that's 
really simple). We can put services support there.

We can, but I don't recommend it. I think we should aim for Wine to have 
a simple RPM/Deb install. There are several implications to this simple 
statement. One of them is using a shared (unix) system wide directory 
structure (be it on a real or on a fake windows, doesn't really matter. 
Personally I think fake windows is the only thing that really matters). 
This, in turn, means that services should be started on system wide 
basis. Services also have a different set of permissions and users than 
the usual processes. In short - I think they belong in neither wrapper 
nor wineboot, but require a more specific solution.

 Shachar

Sylvain Petreolle wrote:

dont do it ! even wineboot isnt started by the server !

 

You might want to make a wrapper application like
wine/programs/services. This program could then
be started by wineserver and a config option if you want to try and
run a NT service. I dont
really see the point on running services under WINE unless you want
to try and install AV software
that loads as a service =)
   

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: 'make depend' b0rken on fresh check-out

2003-03-20 Thread Shachar Shemesh
Keith Matthews wrote:

??  I've just done a checkout and tools/wineinstall is working fine (not finished yet, compiling ole stuff).

 

wineinstall tries to do "make", and only if it fails it does "make 
depend". This probably means that by the time make depend runs, make has 
already built libs/port.

This does not mean that everything is ok.

     Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




CVS doesn't compile from clean

2003-03-20 Thread Shachar Shemesh
Hi,

When trying to run make depend on a clean CVS build, I get errors trying 
to link the tools folder. Manually running make in libs/port solves this 
problem.

 Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: wine and services ..

2003-03-19 Thread Shachar Shemesh
I think that 
http://www.winehq.com/hypermail/wine-devel/2002/10/0578.html will give 
you most of the answers you are looking for.

 Shachar

Lars Segerlund wrote:

 I have asked a before about NT services, and about the support for 
them in wine, does wine have any support for NT services ?

 I'm getting errors on some code which I have written for NT and it 
runs on NT 2k xp , and it seem's that there is no support for services.

 If I wanted to get started on an implementation, how difficult and 
where would I look ? It seem's that wined should be able to handle 
stuff like this ?

 / regards, Lars Segerlund.




--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: W->A dlls/commdlg/fontdlg.c

2003-03-16 Thread Shachar Shemesh
Tony Lambregts wrote:

Well don't feel too bad but I have no intention of working on this at 
this
time.
I have started to write code. MAY have a fix soon.

What I might suggest is that we start a bug report in bugzilla for this
that Dimi can link to. 
http://bugs.winehq.org/show_bug.cgi?id=959 is slightly related.

I have an interview on Tuesday. Hopefully it will turn into a (paying) 
job and
if that is the case I will have less time to spend on wine than I 
currently do. 
Good luck. Let's not forget that there are other important things in life.

Myself, I am also at a time of lower Wine availability. This is mainly 
due to trying to establish an NPO for handling Free and Open source 
software in Israel (wer'e calling it "Hamakor", which stands for both 
"Source" and "beak"). Unfortunetly, one OSS activity do tend to come at 
the expense of another.

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: W->A dlls/commdlg/fontdlg.c

2003-03-16 Thread Shachar Shemesh
Tony Lambregts wrote:

I would appreciate Any comments about this.

I have started to work on setting fontdlg straight. The main obsticle is 
(besides the fact that I don't have time to look at it) is that 
ChooseFontA and ChooseFontW behave slightly different on Windows.

On Windows, ChooseFontA be default displays a charset selection 
combobox. When selecting a font that has several charsets, the selection 
has the full list of the charsets. The "Sample" area shows (W2K) "AaBb", 
followed by several letters that are charset dependant ("YyZz" for 
western). The sample text code is, actually, already implemented and 
commited (the actual sample text is only there for Western and Hebrew, 
because that's all I had, but it's a simple matter of placing text in 
the "SAMPLE_LANG_TEXT" for more languages).

Calling ChooseFontW, on the other hand, displays the charset selection 
(most amuzing), but it is disabled (makes no sense for Unicode). When a 
font is selected, the sample text for ALL charsets in that font is 
displayed.

Wine's fontdlg is currently not in a very good shape. When a font has 
several charsets, the font appears several times in the font dialog. 
Selecting a given instance of the font dictates which charset you will 
receive. Of course, at the moment, unless the charset has a unique 
sample text, you have no way of knowing which charset that was that you 
have selected.

All of these problems are not very difficult to solve, but they require 
some time. The common dialog itself needs to be a unicode dialog 
accepting a boolean dictating whether charset selection is necessary. It 
then needs to call "EnumFontFamiliesExW" instead of "EnumFontFamiliesA". 
This MAY also indicate a bug in "EnumFontFamilies". I'm not sure whether 
it was supposed to return once for each font, or whether it should 
really return each charset of each font as a different entity.

Part of the reason all of this is taking me time, besides the fact that 
I don't get around to Wine very much of late, and the fact that, when I 
do, I'm working on making wineboot autowork, is that the entire font 
dialog experience is jittery. It effectively resets the size and face 
every time a new font is selected, which is not the desired effect. 
Fixing this requires a bit more work. This comes hand in hand with the 
fact that, when initializing it from an existing structure, the 
structure's existing info is not reflected in the dialog.

Hope this was not too technical an answer to your question. If you feel 
like working on it, please let me know. It will allow me to work on 
wineboot with much clearer concious.

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: running wineboot from the server - HELP!

2003-03-10 Thread Shachar Shemesh
Alexandre Julliard wrote:

Shachar Shemesh <[EMAIL PROTECTED]> writes:

 

Can someone who understands the server, and the interaction between
the server and normal apps comment on this scheme?
Also, how do I at all make each and every prog load wineboot.dll?
   

IMO you are on the wrong track here. We definitely do not want to do
boot processing every time an app starts, our startup times are
already pathetic enough. There are three cases where boot processing
should happen:
1) When an app reboots the system with ExitWindows
2) When the user explicitly requests it
3) At login time when starting the Unix desktop
2) and 3) are external to Wine, and are the responsibility of the user
and/or the packager to make sure the proper scripts are modified. So
this leaves 1) which is basically a CreateProcess("wineboot") at the
end of ExitWindows.
I am working on different command line options for the different 
scenarios. I'm having some difficulties with what to do with 2 (I know 
what 1 and 3 should do).

I don't think we need to worry much about delaying other apps either;
in case 2) we may want to display a message when everything is done,
but otherwise I wouldn't worry about it.
 

The synchronization problem is only related to the pending rename 
option. This is guarenteed handled by Windows before any Win32 process 
starts. As such, it may (and is actually quite likely) to have a 
post-boot process depend on the renames being complete before it can 
work. Anything that is run from wineboot itself is handled, but I'm 
worried about external utils.

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




running wineboot from the server - HELP!

2003-03-10 Thread Shachar Shemesh
Hi,

I know I promised this over three weeks ago, but things have been very 
busy for me lately.

This email is slightly long. Please please please read through it. I 
need help to get wineboot working automatically (a blocking issue for 
0.9), and I need someone who understands both the server and the loading 
order to comment.

This is the first part of the required change. Applying it at the moment 
does not make sense, as I am not yet sure that this is the right one (it 
may make more sense to point the env at the .exe.so file rather than the 
wrapper - more about that in a second).

I am, more or less, ready to give up. Someone suggested I look at the 
way caching the font metrics delays normal load. Well, I tried. I'm not 
sure I got it right, though.

If I understand correctly, the way to go for wineboot to run is this:
wineboot, upon first run, will aquire a system wide named mutex that 
means "I am working on it". If the mutex exists, it will block on it. 
Once it got it it will immediatly release it and exit.

If the mutext doesn't exist at all, it will aquire it and do it's magic. 
Once done it will release it, but not delete it, and exit. All that is 
left to do is that all programs must load wineboot as part of the 
startup. It may require modifying it to be a DLL instead of an EXE, but 
so be it.

Can someone who understands the server, and the interaction between the 
server and normal apps comment on this scheme?

Also, how do I at all make each and every prog load wineboot.dll?

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/
Index: programs/winelauncher.in
===
RCS file: /home/sun/sources/cvs/wine/programs/winelauncher.in,v
retrieving revision 1.2
diff -u -r1.2 winelauncher.in
--- programs/winelauncher.in5 Jul 2002 21:18:41 -   1.2
+++ programs/winelauncher.in10 Mar 2003 21:27:27 -
@@ -37,6 +37,7 @@
 [EMAIL PROTECTED]@
 [EMAIL PROTECTED]@
 WINESERVER=
+WINEBOOT=
 [EMAIL PROTECTED]@
 
 #--
@@ -178,12 +179,20 @@
 WINESERVER=$WINEBIN/wineserver
 fi
 
+if [ -x $WINEBIN/wineboot ] ; then
+WINEBOOT=$WINEBIN/wineboot
+fi
+
 #--
 #  Hey, if we built Wine from source, let's add a little extra fun to
 #   mix it up a bit
 #--
 if [ -x $WINEBIN/server/wineserver ] ; then
 WINESERVER=$WINEBIN/server/wineserver
+fi
+
+if [ -x $WINEBIN/programs/wineboot/wineboot ] ; then
+WINEBOOT=$WINEBIN/programs/wineboot/wineboot
 fi
 
 if [ -r $WINELIB/dlls/ntdll.dll.so ] ; then
Index: tools/winewrapper
===
RCS file: /home/sun/sources/cvs/wine/tools/winewrapper,v
retrieving revision 1.3
diff -u -r1.3 winewrapper
--- tools/winewrapper   25 Sep 2002 03:29:56 -  1.3
+++ tools/winewrapper   23 Feb 2003 13:49:11 -
@@ -70,8 +70,9 @@
 fi
 WINEDLLPATH="$topdir/dlls:$topdir/programs"
 WINESERVER="$topdir/server/wineserver"
+WINEBOOT="$topdir/programs/wineboot/wineboot"
 WINELOADER="$topdir/miscemu/wine"
-export LD_LIBRARY_PATH WINEDLLPATH WINESERVER WINELOADER
+export LD_LIBRARY_PATH WINEDLLPATH WINESERVER WINEBOOT WINELOADER
 
 # any local settings ?
 if [ -f "$topdir/.winewrapper" ]


OT: xeyes for windows

2003-03-09 Thread Shachar Shemesh
Hi,

sorry for the off topic.
The "XEyes for windows" I have written has generated some traffic on my 
web site, with totally made up URLs. As I do wish to release it as GPL, 
and as this is the only place I have every announced it's existance, I 
am giving the correct URL to the package. The package can be downloaded 
from http://www.shemesh.biz/code.html

Enjoy,
   Shachar
--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: New conformance test for user32.dll

2003-03-06 Thread Shachar Shemesh
Alexandre Julliard wrote:

Not sure where that documentation is, but it's much better to diff new
files than to add separate attachments. The basic rules are: no
attachments, no mime crap, no line wrapping, a single patch per
mail. Basically if I can't do "cat raw_mail | patch -p0" it's in the
wrong format. I'd guess that at most 20% of the submitted patches
follow the rules :-(
 

I usually attach the diff, but make sure that the mime type allows it to 
be displayed. I received no complaints so far from Alexander, but now 
I'm not sure why.

The eventual mail has Mime crap, but as it is not encoded Alexander 
should be able to do cat | patch. This also guarantees that there will 
be no line wraps.

I belive this to be the best way, but people are so much against it that 
I have kept my mouth shut so far in these discussions. (it's not as if I 
submit too many patches lately :-( )

       Shachar

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Wine 0.9 config applets?

2003-02-23 Thread Shachar Shemesh
Sylvain Petreolle wrote:

Of course I gain some security.

Some spyware are launched by the Run entries to be difficult to remove
by normal users.
Virii are launched as services to gain security privileges, or, easier
to program,
a simple program launched by the Run entries can delete random file(s)
at startup.
 

Wouldn't it then be better to just write a cpl that manages the 
automatic startup programs? We can even port it to Windows and call it a 
"Project Wine spinoff" :-)

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Wine 0.9 config applets?

2003-02-23 Thread Shachar Shemesh
Sylvain Petreolle wrote:

--- Shachar Shemesh <[EMAIL PROTECTED]> a écrit : > I
don't think Viruses are a major issue. The way I see it, there are 
 

currently several functions wineboot fulfils, and we need to consider

all of them:

  1. Boot time operations - renaming pending files (wininit.ini and
the
 pendingrename registry key)
  2. Startup operations - runservices and runservicesonce and such.
  3. Session startup:
1. Install related operations - RunOnce
2. Permenant operations - Run, startup folder etc.
   

3.2  is managed too by wineboot - for run only at the moment.

Right you are.

There is one solution for that : delay program starting like the font
metrics cache generation does.
Thanks. I'll look into it.

(the 
problem with running it on startup is the race condition between the 
renames and the program starting). I think I have a solution to that 
problem, in the form of command parameters, but I'll be smarter when 
things progress.

   

Like I said, it can be enabled by default.

You don't gain any security from that, but it doesn't cost much either.

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Wine 0.9 config applets?

2003-02-23 Thread Shachar Shemesh
I don't think Viruses are a major issue. The way I see it, there are 
currently several functions wineboot fulfils, and we need to consider 
all of them:

  1. Boot time operations - renaming pending files (wininit.ini and the
 pendingrename registry key)
  2. Startup operations - runservices and runservicesonce and such.
  3. Session startup:
1. Install related operations - RunOnce
2. Permenant operations - Run, startup folder etc.
Wineboot currently focuses on 1, 2 and 3.1. This gives me the ability to 
consider running it on wineserver *shutdown* (and when Alexander 
suggested it, it sounded crazy to me, how times change). If we implement 
the startup related activities as well, that will not be an option. (the 
problem with running it on startup is the race condition between the 
renames and the program starting). I think I have a solution to that 
problem, in the form of command parameters, but I'll be smarter when 
things progress.

As for the virus problem - while I guess I can disable startup, I'm not 
sure it's the right idea. We are attempting to immitate the genuine 
Windows environment, and that means, among other things, startups. The 
more we progress, the more habitable our environment is going to be to 
viruses and malwares. I don't think there is much we can do about it.

The user, on the other hand, would like to have a conveiniant 
environment. Having many switches and tweaks will not improve their 
ability to control Wine, quite the contrary.

   Shachar

Sylvain Petreolle wrote:

In this case make sure we can desactivate it.
I dont want to see a plug-in/virus/popup generator/something else
loading itself automatically
 

Well wineboot needs to be automatically run, either at startup or
shutdown or whatever. Other than that, yep, it's all making good
progress it seems.
 

I'll try to get that in sometimes during this coming week.

       Shachar
   



--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Wine 0.9 config applets?

2003-02-22 Thread Shachar Shemesh
Mike Hearn wrote:

Well wineboot needs to be automatically run, either at startup or
shutdown or whatever. Other than that, yep, it's all making good
progress it seems.
 

I'll try to get that in sometimes during this coming week.

   Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/




Re: Incorrect locale selected

2003-02-20 Thread Shachar Shemesh
J. Grant wrote:



Which means that my input method can be in japanese, but that all 
programs are in
english.  However, some programs (wine notepad and some installers 
etc) have
some of the text in Japanese.  Wine notepad has the "open file" dialog 
in Japanese,
but the menus are in english.

I am using Wine 20030115.  Is this a known issue?

Yes and no. In Wine everything is selected at one place, and is the 
equivalent of the "system default locale". Be warned, btw, that some 
things don't work very well with input when using UTF-8.

Is it fixable? Probably. You need to get the concept of a user locale. 
Grab the system locale from LC_CTYPE and the user locale from LANG. 
Select resources based on the user locale. That would probably fix this 
issue. Havn't had the time (http://www.advogato.org/person/sun/#1) to 
actually go ahead and do it.


Regards


JG






--
Shachar Shemesh
Open Source integration consultant
http://www.shemesh.biz/






Re: The richedit scrollbars

2003-02-16 Thread Shachar Shemesh
Duane Clark wrote:


The easy fix is to have WM_NCCALCSIZE return the true size of the
enclosing window, which is what we have done here. The more difficult
fix is to create a custom Richedit MoveWindow procedure for use in the
WM_SIZE message above. Since it is very unlikely that an app would call
and use the WM_NCCALCSIZE message, we stick with the easy fix for now. 

Sorry for being a pest about this, and it's not like the Richedit is in 
my focus at the moment, but what does Windows do under the same 
circumstances?



Changelog:
A fix to get edit control scrolls bars to draw in the correct 
position.



--
Shachar Shemesh
Open Source integration consultant
http://www.consumer.org.il/sun/






Re: Non-applied patches

2003-02-14 Thread Shachar Shemesh
Alexandre Julliard wrote:


Shachar Shemesh <[EMAIL PROTECTED]> writes:

 

I am referring to:
http://www.winehq.com/hypermail/wine-patches/2003/01/0399.html
   


This one should be applied soon.
 

Great! That's the important one. I'm hoping to get to the point we have 
a charset selecting font dialog (and eliminate the W->A call while wer'e 
at it).

and
http://www.winehq.com/hypermail/wine-patches/2003/01/0401.html
   


As you said yourself: "this is not a good patch". It's not fixing the
problem just hiding it.


Yes. It was a two minute hack, because I happened across the problem.

--
Shachar Shemesh
Open Source integration consultant
http://www.consumer.org.il/sun/






Non-applied patches

2003-02-14 Thread Shachar Shemesh
Hi Alexandre,

I'm just trying to understand whether you are still trying to fight the 
backlog, my patches fell through the cracks, or that you decided not to 
apply them.

I am referring to:
http://www.winehq.com/hypermail/wine-patches/2003/01/0399.html
and
http://www.winehq.com/hypermail/wine-patches/2003/01/0401.html

If the last option, please explain what is wrong with them.

   Sh.

P.S.
A simple mail saying "I'm still fighting the backlog, I'll let you know 
when I've covered all the submitted patches" will suffice, as far as I'm 
concerned.

--
Shachar Shemesh
Open Source integration consultant
http://www.consumer.org.il/sun/





Where oh where has Alexander gone?

2003-02-11 Thread Shachar Shemesh
Hi,

The last commit to wine has been done almost two weeks ago. I understood 
from half an email that Dimi wrote that Alexander was away from the 
Internet (away for almost two weeks! *shudder*).

Anyone knows where, when and what? Is all ok?

--
Shachar Shemesh
Open Source integration consultant
http://www.consumer.org.il/sun/





Re: Windows API (What I have so far)

2003-02-09 Thread Shachar Shemesh
In our continous effort to to avoid understanding what the other one is 
writing by sending our own stuff, here is a version of my parser that 
does the actual generation of a HTML table.

Also attached is this program's output when run against Dave's original 
HTML. The HTML is compressed with bzip, as when compressed with gzip it 
was over this list's quota (44Kb). Be warned that the file size after 
uncompress is 2.7MB(!!!), and it poses quite a problem for Mozilla to 
display (though it manages to, eventually).

Also not that the resulting display is as ugly as an airport. This was, 
in fact, on purpose. If you view the source of the HTML, you will find 
that it was meant to be styled with a CSS, and thus contain no formating 
directives, but do contain "class" directives. Unfortunetly, my web 
design skills are close to nada, and so I do not consider myself up to 
the task of creating such a style sheet. If anyone else present would 
like to generate CSS for this table, please keep in mind that Table Data 
cells of class "CyclicDepend" are cells that, if marked, indicate that 
the DLL has a cyclic dependancy. It is therefor probably a good idea to 
give them a different background.

Last, this program still has a bug, though I don't know how serious. 
When run it issues lots of warnings about use of uninitialized var. I 
believe this has the potential of indicating a real bug in the program, 
but the DLLs I have sample checked against the original input proved to 
be ok.

Share and enjoy.

   Shachar

Dave wrote:

Ok, here is new HTML.  I used c:\windows as the path so gdiplus would 
be included.

I'll add the newlines, but haven't yet.  So new HTML doesn't have them.

At 12:25 AM 2/10/2003 +0200, you wrote:

David Miller wrote:


I checked my system for gdiplus.dll.  It simply is not under 
c:\windows\system32, which is the path I gave when I made the sample 
HTML.  It is under c:\windows\winsxs.

The new program strips the path and dll extension in the HTML output.
Would it be better to reverse that change, and include the path and 
extension to be compatible with your parser?


I don't think that would be necessary. Just make sure that in the 
HTML you add a real NL after each  (or otherwise make the 
interesting parts at most one per line), and that SHOULD work.

My parser removed the path if it's there, and removes the extension 
if it's .dll. If the files have no path and no extension, that should 
still work fine (I would love to either have you check that, or give 
me an up to date HTML for me to check against).

   Shachar

--
Shachar Shemesh
Open Source integration consultant
http://www.consumer.org.il/sun/








--
Shachar Shemesh
Open Source integration consultant
http://www.consumer.org.il/sun/




parse.pl
Description: Perl program


winxp_dll_map.html.bz
Description: Binary data


Re: Windows API (What I have so far)

2003-02-09 Thread Shachar Shemesh
David Miller wrote:


I checked my system for gdiplus.dll.  It simply is not under 
c:\windows\system32, which is the path I gave when I made the sample 
HTML.  It is under c:\windows\winsxs.

The new program strips the path and dll extension in the HTML output.  
Would it be better to reverse that change, and include the path and 
extension to be compatible with your parser? 

I don't think that would be necessary. Just make sure that in the HTML 
you add a real NL after each  (or otherwise make the interesting 
parts at most one per line), and that SHOULD work.

My parser removed the path if it's there, and removes the extension if 
it's .dll. If the files have no path and no extension, that should still 
work fine (I would love to either have you check that, or give me an up 
to date HTML for me to check against).

   Shachar

--
Shachar Shemesh
Open Source integration consultant
http://www.consumer.org.il/sun/





Re: Windows API (What I have so far)

2003-02-09 Thread Shachar Shemesh
Dave wrote:


Thanks, I will look into merging the two together sometime soon, if no 
one beats me to it.  First I want to make the existing program a 
little more readable before it becomes unmanageable and even I don't 
know what it does.  :)

The sample HTML I created was done from my laptop, which has all sorts 
of applications installed.  There might be a lot of irrelevant 
information.  It may become a much smaller table once it's run on a 
clean system.

Please keep the foreend/backend approach, as I have neither tools nor 
environment to run your original perl prog, and I would still like to 
get the HTML rendering. I think the best approach is for a backend to 
dump the raw data into a easy to parse format (and your original format 
was, as you can see, not too difficult once you add the newlines), and a 
frontend that formats these into HTML.

As for the unnecessaries - 238 columns is much better than I feered. 
More worriying than the sheer number is the warning my prog issues when 
run on your original input (like I said - I don't have any other):
DLL fsusd depends on DLL gdiplus, which does not exist
DLL photowiz depends on DLL gdiplus, which does not exist
DLL shmedia depends on DLL gdiplus, which does not exist
DLL webvw depends on DLL gdiplus, which does not exist
DLL wiadefui depends on DLL gdiplus, which does not exist
DLL wiavideo depends on DLL gdiplus, which does not exist
DLL wiavideo depends on DLL gdiplus, which does not exist
DLL wiavusd depends on DLL gdiplus, which does not exist

Manually checking that with your output reveals that to be a correct 
assesment (i.e. - not a bug). there are references to a DLL called 
"gdiplus", which does not itself show in the output. Care to check your 
system and find out how that came about?

   Shachar


At 01:11 AM 2/9/2003 +0200, you wrote:


Attached is a perl prog that taked David's original HTML output with 
a single necessary preprocessing (replacing each  with \n), 
and issues a list of the DLLs (no deps as of yet) in the order 
discussed before (i.e. - A depends on B -> A is higher, A has more 
dependants than B -> A is higher).

I will now work on displaying this in a table. Shouldn't be too 
difficult (the fact that the table will be 238 coloumns wide 
nonwithstanding). Could be worse. The table is 1141 lines long.

This does not work with David's new prog yet, but as the both of them 
are in perl I am sure it will not be too big a deal to merge the two 
progs into one. This will just simplify the process of getting the 
initial input (currently parsed from the HTML).

   Shachar

Shachar Shemesh wrote:

Havn't had a chance to look at your script yet, but I am two hours' 
work away from something that parses the original HTML you gave, and 
outputs the monster in the form Dimi and I suggested. I will attach 
it later today, and then you can merge the two, if you like.

   Shachar

Quoting David Miller <[EMAIL PROTECTED]>:



I thought a few of you might be interested in the current status of 
this
script, so here is an update.  I will attach a copy in case anyone 
wants
to
test it, or add functionality or fixes.  I'd be interested in the
results of
any tests, especially if you discover any parsing errors.

It is far from complete, but at this stage does the following:

- Scan a given path, locating all dll files
- Generate an HTML map of dll imports only (sorted, lowercase, 
stripped
of
paths)
- dumpbin /import and dumpbin /export on all dll files and save the
results
in imports.txt and exports.txt respectively
- parse imports.txt as follows, and save the results in
imported_api.txt:

   DLL nameimported DLLimported API

- parse exports.txt as follows, and save the results in
exported_api.txt:

   DLL nameexported API

Future plans:

- Create a matrix of data currently in HTML map
- Generate HTML cross reference of all imported/exported API
- Implement dumping of data into a database (Something queryable, but
what?)
- Detect and report unimplemented APIs in wine







--
Shachar Shemesh
Open Source integration consultant
http://www.consumer.org.il/sun/









--
Shachar Shemesh
Open Source integration consultant
http://www.consumer.org.il/sun/






Re: Windows API (What I have so far)

2003-02-08 Thread Shachar Shemesh
Attached is a perl prog that taked David's original HTML output with a 
single necessary preprocessing (replacing each  with \n), and 
issues a list of the DLLs (no deps as of yet) in the order discussed 
before (i.e. - A depends on B -> A is higher, A has more dependants than 
B -> A is higher).

I will now work on displaying this in a table. Shouldn't be too 
difficult (the fact that the table will be 238 coloumns wide 
nonwithstanding). Could be worse. The table is 1141 lines long.

This does not work with David's new prog yet, but as the both of them 
are in perl I am sure it will not be too big a deal to merge the two 
progs into one. This will just simplify the process of getting the 
initial input (currently parsed from the HTML).

       Shachar

Shachar Shemesh wrote:

Havn't had a chance to look at your script yet, but I am two hours' work away 
from something that parses the original HTML you gave, and outputs the monster 
in the form Dimi and I suggested. I will attach it later today, and then you 
can merge the two, if you like.

   Shachar

Quoting David Miller <[EMAIL PROTECTED]>:

 

I thought a few of you might be interested in the current status of this
script, so here is an update.  I will attach a copy in case anyone wants
to
test it, or add functionality or fixes.  I'd be interested in the
results of
any tests, especially if you discover any parsing errors.

It is far from complete, but at this stage does the following:

- Scan a given path, locating all dll files
- Generate an HTML map of dll imports only (sorted, lowercase, stripped
of
paths)
- dumpbin /import and dumpbin /export on all dll files and save the
results
in imports.txt and exports.txt respectively
- parse imports.txt as follows, and save the results in
imported_api.txt:

   DLL nameimported DLLimported API

- parse exports.txt as follows, and save the results in
exported_api.txt:

   DLL nameexported API

Future plans:

- Create a matrix of data currently in HTML map
- Generate HTML cross reference of all imported/exported API
- Implement dumping of data into a database (Something queryable, but
what?)
- Detect and report unimplemented APIs in wine

   


 



--
Shachar Shemesh
Open Source integration consultant
http://www.consumer.org.il/sun/




parse.pl
Description: Perl program


Re: Windows API (What I have so far)

2003-02-08 Thread Shachar Shemesh
Havn't had a chance to look at your script yet, but I am two hours' work away 
from something that parses the original HTML you gave, and outputs the monster 
in the form Dimi and I suggested. I will attach it later today, and then you 
can merge the two, if you like.

Shachar

Quoting David Miller <[EMAIL PROTECTED]>:

> I thought a few of you might be interested in the current status of this
> script, so here is an update.  I will attach a copy in case anyone wants
> to
> test it, or add functionality or fixes.  I'd be interested in the
> results of
> any tests, especially if you discover any parsing errors.
> 
> It is far from complete, but at this stage does the following:
> 
> - Scan a given path, locating all dll files
> - Generate an HTML map of dll imports only (sorted, lowercase, stripped
> of
> paths)
> - dumpbin /import and dumpbin /export on all dll files and save the
> results
> in imports.txt and exports.txt respectively
> - parse imports.txt as follows, and save the results in
> imported_api.txt:
> 
> DLL nameimported DLLimported API
> 
> - parse exports.txt as follows, and save the results in
> exported_api.txt:
> 
> DLL nameexported API
> 
> Future plans:
> 
> - Create a matrix of data currently in HTML map
> - Generate HTML cross reference of all imported/exported API
> - Implement dumping of data into a database (Something queryable, but
> what?)
> - Detect and report unimplemented APIs in wine
> 




Re: GDI question

2003-02-04 Thread Shachar Shemesh
Mike Hearn wrote:


Yeah, the GDI is slow. I'd be interested to see a quote from one of the
Wine-based companies.
   


How much slower is it? I know it'll be slower than the MS native
implementation simply because it's not been fully optimized, but most
apps I run under Wine have perfectly acceptable graphics performance.
The most noticable problems are related to flickering in fact. Are we
talking raw API performance or real world stuff that users would notice?

 

There used to be a benchmark suite called "Winbench", that tried to load 
real world applications and see how fast the performed various 
operations. Anyone has a recent version?

   Shachar





Re: Windows API database / map

2003-02-03 Thread Shachar Shemesh
Dimitrie O. Paun wrote:


 4. Remove the columns from the matrix that have no X's.


No X's mean noone is linking to it, and it links to noone. I would like 
to know of its existance, even if it is unlinked. Let's also not forget 
that some modules (lpk.dll, for example) are only linked to dynamically 
(due to circular dependancy from GDI32).

 5. Order columns by order of importance. That is, the ones with
more X's come first.


No, order them by order of dependancy. I.e. - I want to know that if a 
DLL links to a DLL that is below it in the list, it is a circular 
dependancy. There is a standard matrix view that looks something like this:

ntdll advapi32 user32 kernel32 msvcrt
advapi32





user32





kernel32
X
X
X


msvcrt
X


X


Ordering should be done by the following criteria:

  1. If A depends on B, but B does not depend on A, A must appear
 higher than B.
  2. If rule 1 did not resolve relative order, and A has more modules
 dependant on it than B, A must appear higher.
  3. If neither rules resolved the order, make it arbitrary.

These two criteria make sure that the matrix is triangle shaped unless 
there's a circular dependancy. Also, these rules make sure that modules 
that depend on other modules and are heavily linked to, such as 
kernel32, are higher up than modules that depend on no other modules and 
are not linked to, such as actxprxy.

If you want, I can write some perl to create such a table from the 
available information.

   Shachar





Re: Wineconf 2003

2003-02-03 Thread Shachar Shemesh
Jeremy White wrote:


For where, I would think it's time to hold it in Europe.


Hear hear. I doubt I'll be able to afford a plane ticket to the U.S. at 
this stage of my life (turning to the independant life and all).

   Shachar





Re: Scrollbars misplaced in several apps

2003-02-03 Thread Shachar Shemesh
Duane Clark wrote:


Hmmm... I thought I remembered maybe 6 months ago or so a discussion 
about this... ahh yes between you and Dmitry :-)

http://www.winehq.com/hypermail/wine-devel/2002/11/0463.html

So does this mean you are going to create a separate wordpad, as you 
mentioned then?

The concensus then was that Notepad will use Rich Edit because we need 
to support RTFs. However, noone seemed to bother writing even the 
simplest decoder for it. On the other hand, I need notepad to support a 
font dialog because of non-Western codepages issues. As a result, I 
decided to just submit the patch and turn it back into EDIT. If anyone 
wants to start working on an editor (or even a viewer) that supports 
RTFs, they can either:

   * Fork notepad

or

   * Figure out how to maintain the font dialog support under rich edit.

Until someone decides that RTFs are important enough to actually do 
anything about them, I don't see any reason why a simple fix such as the 
font dialog should wait.

   Shachar





Re: Scrollbars misplaced in several apps

2003-02-03 Thread Shachar Shemesh
Duane Clark wrote:


Were you perhaps using Window's notepad rather than Wine's? I see it 
with Wine's notepad. I also see it in Actel designer, that I remember. 
And I guess I should have said richedit rather than richtext... oh 
well. In all cases that I have seen, it is fixed by using a native 
richedit dll.

Window's notepad uses the usual EDIT control. As of a few days ago, 
however, so does the Wine notepad. This may explain the inconsitancy.

http://cvs.winehq.com/patch.py?id=7152

   Shachar






Re: PATCH: Get rid of superfluous dup() and close() calls.

2003-02-01 Thread Shachar Shemesh
David Laight wrote:


I'm not sure I agree. When someone closes a fd they shouldn't, that 
would lead to program crashing, and attention being brought to the 
problem. When someone leaks a fd, noone will notice.
   


No, it causes horrid corruptions that are particularly difficult
to find.

What happens is that someone else does an open() and is given
the number of the (incorrectly) closed fd.  The owener of the fd
will then write into the newly opened file.

This can happen if a 'normal' program does close(0), close(1),
close(2) then much later accidentally calls printf() instead
of sprintf().  When the stdio buffer is eventually flushed data
is written to what has been reopened as fd0.
(This was a real bug in software that got released...)

	David

 

What happens under Windows with such circumstances?

   Sh.






Re: ReactOS cmd exe (was Re: Explorer)

2003-02-01 Thread Shachar Shemesh
Tony Lambregts wrote:


Steven Edwards wrote:


Our cmd.exe is based off of freedos command.com which is GPL.


Dang! 

Can someone please explain to me why our winelib apps MUST be LGPL? What 
is the reason wcmd cannot be GPL? Where is the violation?

Well, we can at least ask. Do you know who to contact?


Wouldn't that mean that wcmd be a Dos program? Isn't that inferior to a 
"Win32" program that wcmd currently is?

   Shachar





  1   2   3   >