Re: [MSVCRT] Cross build fix

2004-06-03 Thread Dimitrie O. Paun
On Wed, Jun 02, 2004 at 11:09:36AM -0700, Alexandre Julliard wrote:
> I don't see how this would solve problems like the _WCTYPE_T_DEFINED
> issue.

Right, it will not solve problems like this (for Boaz: _WCTYPE_T_DEFINED
is a sentry for not defining a type twice, check out pretty much any header
under include/msvcrt/ to see how it's used).

However, I did grep the source, and it seems that we're using the
MSVCRT_ prefix only in dlls/msvcrt/*.c. And so it's not clear to
me that duplicating part of the headers is going to be that bad.
I mean, we will need duplication only for the stuff that we use
internally across files. That doesn't include math functions for
example, and a bunch of other stuff.

If you're positive this is not a good idea, I'll drop it, but if
there is a chance it would be acceptable, I might give it a try...

-- 
Dimi.




Re: Porting Application to MacOS X

2004-06-03 Thread Dimitrie O. Paun
On Thu, Jun 03, 2004 at 08:18:46AM +0100, saneh gupta wrote:
> I need my application to be independent of any other
> binary (like wine) - so, once linked with the required
> wine-libraries it should just run on any MacOS X
> machine i.e. no dependency on wine
> binary/installation. Is this possible?

No, it's not. A windows application uses a bunch of DLLs
that you'll need those around, so you need wine.

> I would also
> like to use my own makefile for linking in my
> application with the wine libraries. Is ths fine?

Of course, you can use your own Makefiles.

-- 
Dimi.




Re: Request for winetesting volunteers

2004-06-03 Thread Dimitrie O. Paun
On Thu, Jun 03, 2004 at 10:56:51PM +0200, Ferenc Wagner wrote:
> We could easily chop those long tags to 6-7 chars.  Shall we?

Yes, we should because ATM we don't control them, and we can
not allow unlimited strings in there. But 6-7 is a bit drastic.
Looking at current result, even 20 chars is still OK. For example
we have:

DimitrisKoukoravas JackHollingworth

we can't quite shorten these meaningfully. I'd have:
  1. Un upper limit of around 20-25 chars
  2. Maybe a smart splitter that would split the ID's at
 capitalization points:

DimitrisJack
Koukoravas  Hollingworth
  3. Decrease the font size even more. Right now it's ,
 but we can do a  or somesuch.

> Do you mean something like -M key:file or -M key=value?
> I agree that something like this should probably be added.

Yes, something like that. I'm not sure we need a key/value
syntax (do we?), even just -M string would do. But if all
metadata is in the key,value format, sure, -M key=value
would be great.

-- 
Dimi.



Re: Request for winetesting volunteers

2004-06-03 Thread Dimitrie O. Paun
On Thu, Jun 03, 2004 at 10:50:13PM +0200, Ferenc Wagner wrote:
> I tend to agree, this idea didn't really work out.  Somehow
> different Win9x subversions have well recognised names like
> OSR2, SP1, SE but other Windows flavours do not while still
> having service packs of course.  We could probably drop this
> distinction altogether and empty this layer of abstraction.
> It would simplify things a bit.  Deal?

Deal. If we do the simple thing and just keep the name constant
(i.e. Win95, Win98, etc.) would be perfect. If we need more info,
we just click on the link and look at the report.

-- 
Dimi.



Re: Listview ignores the user specified image state index

2004-06-03 Thread Dimitrie O. Paun
On Thu, Jun 03, 2004 at 02:12:49PM -0700, Krishna Murthy wrote:
> While inserting the item in ListView control in wine( in function
> ISTVIEW_InsertItemT() ), the state image index is overwritten with zeros.
> After copying the LVITEM structure to newly created item in
> LISTVIEW_InsertItemT(), a statement is unnecessarily masking the state with
> LVIS_STATEIMAGEMASK by using ~ operator (item.state &= ~LVIS_STATEIMAGEMASK;
> ). This statement is making the bits 12 through 15 overwrite  with 0's by
> replacing original state image index.

Odd, I've added that, but I can not understand why. If anything, it might
be a typo, as I can't see why I would want to nuke the state image, but
I also can not remember what I wanted to remove. So the patch is OK, I'll
think some more tonight what, if anything, I wanted to remove from the state.

-- 
Dimi.




Re: Listview ignores the user specified image state index

2004-06-03 Thread Dimitrie O. Paun
> Odd, I've added that, but I can not understand why. If anything, it might
> be a typo, as I can't see why I would want to nuke the state image, but
> I also can not remember what I wanted to remove. So the patch is OK, I'll
> think some more tonight what, if anything, I wanted to remove from the state.

Now I know why I did that. Documentation from LVM_INSERTITEM says:
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/listview/messages/lvm_insertitem.asp)
...
If a list-view control has the LVS_EX_CHECKBOXES style set, 
any value placed in bits 12 through 15 of the state member of 
the LVITEM structure will be ignored. When an item is added 
with this style set, it will always be set to the unchecked state.
...

Documentation for LVITEM.state, says:
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/listview/structures/lvitem.asp)
...
Bits 12 through 15 of this member specify the state image index. 
The state image is displayed next to an item's icon to indicate 
an application-defined state. If these bits are zero, the item 
has no state image. To isolate these bits, use the LVIS_STATEIMAGEMASK 
mask. To set the state image index, use the INDEXTOSTATEIMAGEMASK 
macro. The state image index specifies the index of the image in 
the state image list that should be drawn. The state image list is 
specified with the LVM_SETIMAGELIST message.
...

So I guess we need to clear the bits only if LVS_EX_CHECKBOXES is set.

ChangeLog
Clear the state image bits only if LVS_EX_CHECKBOXES is set.
Fix obvious logical error in focus handling.
Indentation and formatting fixes.
(based on a patch by Krishna Murthy).


Index: dlls/comctl32/listview.c
===
RCS file: /var/cvs/wine/dlls/comctl32/listview.c,v
retrieving revision 1.388
diff -u -r1.388 listview.c
--- dlls/comctl32/listview.c11 May 2004 22:16:54 -  1.388
+++ dlls/comctl32/listview.c4 Jun 2004 04:41:46 -
@@ -3317,7 +3317,7 @@
ranges_delitem(infoPtr->selectionRanges, lpLVItem->iItem);

/* if we are asked to change focus, and we manage it, do it */
-   if (lpLVItem->state & lpLVItem->stateMask & ~infoPtr->uCallbackMask & 
LVIS_FOCUSED)
+   if (lpLVItem->stateMask & ~infoPtr->uCallbackMask & LVIS_FOCUSED)
{
if (lpLVItem->state & LVIS_FOCUSED)
{
@@ -6041,7 +6041,7 @@
 }
 
 /***
- * nESCRIPTION:
+ * DESCRIPTION:
  * Inserts a new item in the listview control.
  *
  * PARAMETER(S):
@@ -6072,8 +6072,7 @@
 
 if (!is_assignable_item(lpLVItem, infoPtr->dwStyle)) return -1;
 
-if ( !(lpItem = (ITEM_INFO *)Alloc(sizeof(ITEM_INFO))) )
-   return -1;
+if (!(lpItem = (ITEM_INFO *)Alloc(sizeof(ITEM_INFO return -1;
 
 /* insert item in listview control data structure */
 if ( !(hdpaSubItems = DPA_Create(8)) ) goto fail;
@@ -6094,21 +6093,21 @@
 /* set the item attributes */
 if (lpLVItem->mask & (LVIF_GROUPID|LVIF_COLUMNS))
 {
-   /* full size structure expected - _WIN32IE >= 0x560 */
-   item = *lpLVItem;
+/* full size structure expected - _WIN32IE >= 0x560 */
+item = *lpLVItem;
 }
 else if (lpLVItem->mask & LVIF_INDENT)
 {
-   /* indent member expected - _WIN32IE >= 0x300 */
-   memcpy(&item, lpLVItem, offsetof( LVITEMW, iGroupId ));
+/* indent member expected - _WIN32IE >= 0x300 */
+memcpy(&item, lpLVItem, offsetof( LVITEMW, iGroupId ));
 }
 else
 {
-   /* minimal structure expected */
-   memcpy(&item, lpLVItem, offsetof( LVITEMW, iIndent ));
+/* minimal structure expected */
+memcpy(&item, lpLVItem, offsetof( LVITEMW, iIndent ));
 }
 item.iItem = nItem;
-item.state &= ~LVIS_STATEIMAGEMASK;
+if (infoPtr->dwLvExStyle & LVS_EX_CHECKBOXES) item.state &= ~LVIS_STATEIMAGEMASK;
 if (!set_main_item(infoPtr, &item, TRUE, isW, &has_changed)) goto undo;
 
 /* if we're sorted, sort the list, and update the index */



Re: [tests] disable winspool tests if we don't have a default printer

2004-06-04 Thread Dimitrie O. Paun
On Fri, Jun 04, 2004 at 08:26:49AM +0200, Andreas Mohr wrote:
> Why not be more verbose about that?

Because those people will not see the warning anyway I'm afraid.
Most run in non-interactive mode through winrash, others through
winetest. The most we can do is leave the error in, and bug people
into fixing their setup, but I'm not sure this is practical.

Maybe we need a special sort of failure more for these sort of
things, so we can separate them in the HTML output.

-- 
Dimi.



Re: [tests] disable winspool tests if we don't have a default printer

2004-06-05 Thread Dimitrie O. Paun
On Sat, Jun 05, 2004 at 03:44:22PM +0200, Francois Gouget wrote:
> Not everyone has a printer and there's nothing wrong with that. That's
> what's causing the missing default printer, right?

I guess. I can see that we would prefer if there were such a
default printer, but we can't force people to have one.
Anyway, Alexandre committed the patch so ... :)

-- 
Dimi.



Re: wingcc and -Wb option

2004-06-11 Thread Dimitrie O. Paun
On Fri, Jun 11, 2004 at 08:08:31AM -0700, Jon Griffiths wrote:
> The easiest way to fix this is to change the delimiting character in
> either option, i.e.:
> 
> winebuild: --ignore=x,y,z => --ignore=x;y;z
> 
> winegcc: -Wb,--ignore=x,y,z, => -Wb;--ignore=x,y,z;
> 
> Does anyone care which one it is?

';' is not convenient, as it conflicts with the shell ';' operator.
winegcc is the front-end tool, so it's more likely to be used directly.
So if anything, we should change this in winebuild. But maybe we can
introduce a '-i' options instead:

winebuild: --ignore=x,y,z => -ix -iy -iz

-- 
Dimi.



Re: [WineHQ] service.cgi fixes

2004-06-11 Thread Dimitrie O. Paun
On Fri, Jun 11, 2004 at 02:49:21PM +0100, Paul Millar wrote:
> Why remove the verification of the code's gpg signature?  It seems to 
> break a basic security maxim: don't trust the network.

Because the current implementation is b0rken, and it just gives us a
false sense of security. If we can't trust the network:
  -- why do we trust the script to tell us to do the verification?!?
 If anything, we would have to automatically always do the
 verification, not have a command for it. So a command of
download url.foo
 should implicitily generate a
download url.foo.sig
gpgverify url.foo.sig

  -- also, why do we trust the script at all? We should also always
 sign and verify every time the script. But this will make it
 rather inconvenient to work with... Oh well, we'll do it if we
 must. But we have to be careful to NOT accept downloads signed
 my WineHQ (the sig used to sign the script), because if WineHQ
 is hacked, all bets are off. In other words, we should trust
 only human signatures for file download. I'm not sure how easily
 all this can be implemented in winrash.

In any event, those two lines in the script that I've removed are
not the answer. For now I guess we can trust the network.


-- 
Dimi.



[MSVCRT] Separate internal definitions from the public headers

2004-06-13 Thread Dimitrie O. Paun
Hi Alexandre,

Welcome back! I did this last Friday, but I didn't want to continue
before running it by you. I'm sending here just the first cut of the
definitions I needed to duplicate in msvcrt.h, to compile the entire
msvcrt DLL without the MSVCRT() define in the public headers.

Looking at the changes it seems to me:
  1. There aren't that many
  2. We can easily add a test file to check for consistency
 with the public headers (ideally, this file would be
 automatically generated by a script)
  3. We should be able to actually drop some of them, this
 is just the first cut, and I've tried to keep the
 number of changes to the source code to a minimum.

Should I carry on?

-- 
Dimi.


Index: dlls/msvcrt/msvcrt.h
===
RCS file: /var/cvs/wine/dlls/msvcrt/msvcrt.h,v
retrieving revision 1.25
diff -u -r1.25 msvcrt.h
--- dlls/msvcrt/msvcrt.h16 Mar 2004 19:17:11 -  1.25
+++ dlls/msvcrt/msvcrt.h4 Jun 2004 23:05:05 -
@@ -28,8 +28,27 @@
 #include "winerror.h"
 #include "winnls.h"
 
-#include "msvcrt/string.h"
-#include "msvcrt/eh.h"
+typedef unsigned short MSVCRT_wchar_t;
+typedef unsigned short MSVCRT_wint_t;
+typedef unsigned short MSVCRT_wctype_t;
+typedef unsigned short MSVCRT__ino_t;
+typedef unsigned long  MSVCRT__fsize_t;
+typedef unsigned int   MSVCRT_size_t;
+typedef unsigned int   MSVCRT__dev_t;
+typedef int  MSVCRT__off_t;
+typedef long MSVCRT_clock_t;
+typedef long MSVCRT_time_t;
+typedef long MSVCRT_fpos_t;
+
+typedef void (*terminate_handler)();
+typedef void (*terminate_function)();
+typedef void (*unexpected_handler)();
+typedef void (*unexpected_function)();
+typedef void (*_se_translator_function)(unsigned int code, struct _EXCEPTION_POINTERS 
*info);
+typedef void (*_beginthread_start_routine_t)(void *);
+typedef unsigned int (__stdcall *_beginthreadex_start_routine_t)(void *);
+typedef int (*MSVCRT__onexit_t)(void);
+
 
 /* TLS data */
 extern DWORD MSVCRT_tls_index;
@@ -123,4 +142,363 @@
 #define _RT_CRNL252
 #define _RT_BANNER  255
 
+struct MSVCRT_tm {
+int tm_sec;
+int tm_min;
+int tm_hour;
+int tm_mday;
+int tm_mon;
+int tm_year;
+int tm_wday;
+int tm_yday;
+int tm_isdst;
+};
+
+struct _timeb
+{
+MSVCRT_time_t  time;
+unsigned short millitm;
+short  timezone;
+short  dstflag;
+};
+
+typedef struct MSVCRT_iobuf
+{
+  char* _ptr;
+  int   _cnt;
+  char* _base;
+  int   _flag;
+  int   _file;
+  int   _charbuf;
+  int   _bufsiz;
+  char* _tmpfname;
+} MSVCRT_FILE;
+
+struct MSVCRT_lconv
+{
+char* decimal_point;
+char* thousands_sep;
+char* grouping;
+char* int_curr_symbol;
+char* currency_symbol;
+char* mon_decimal_point;
+char* mon_thousands_sep;
+char* mon_grouping;
+char* positive_sign;
+char* negative_sign;
+char int_frac_digits;
+char frac_digits;
+char p_cs_precedes;
+char p_sep_by_space;
+char n_cs_precedes;
+char n_sep_by_space;
+char p_sign_posn;
+char n_sign_posn;
+};
+
+struct MSVCRT__exception
+{
+  int type;
+  char*name;
+  double  arg1;
+  double  arg2;
+  double  retval;
+};
+
+struct MSVCRT__complex
+{
+  double x;  /* Real part */
+  double y;  /* Imaginary part */
+};
+
+typedef struct _heapinfo
+{
+  int*   _pentry;
+  MSVCRT_size_t  _size;
+  int_useflag;
+} _HEAPINFO;
+
+#ifdef __i386__
+typedef struct __JUMP_BUFFER
+{
+unsigned long Ebp;
+unsigned long Ebx;
+unsigned long Edi;
+unsigned long Esi;
+unsigned long Esp;
+unsigned long Eip;
+unsigned long Registration;
+unsigned long TryLevel;
+/* Start of new struct members */
+unsigned long Cookie;
+unsigned long UnwindFunc;
+unsigned long UnwindData[6];
+} _JUMP_BUFFER;
+#endif /* __i386__ */
+
+struct MSVCRT__diskfree_t {
+  unsigned int total_clusters;
+  unsigned int avail_clusters;
+  unsigned int sectors_per_cluster;
+  unsigned int bytes_per_sector;
+};
+
+struct MSVCRT__finddata_t 
+{
+  unsigned attrib;
+  MSVCRT_time_t   time_create;
+  MSVCRT_time_t   time_access;
+  MSVCRT_time_t   time_write;
+  MSVCRT__fsize_t size;
+  charname[260];
+};
+
+struct MSVCRT__finddatai64_t 
+{
+  unsigned attrib;
+  MSVCRT_time_t  time_create;
+  MSVCRT_time_t  time_access;
+  MSVCRT_time_t  time_write;
+  __int64size;
+  char   name[260];
+};
+
+struct MSVCRT__wfinddata_t  {
+  unsigned attrib;
+  MSVCRT_time_t   time_create;
+  MSVCRT_time_t   time_access;
+  MSVCRT_time_t   time_write;
+  MSVCRT__fsize_t size;
+  MSVCRT_wchar_t  name[260];
+};
+
+struct MSVCRT__wfinddatai64_t  {
+  unsigned attrib;
+  MSVCRT_time_t   time_create;
+  MSVCRT_time_t   time_access;
+  MSVCRT_time_t   time_write;
+  __int64 size;
+  MSVCRT_wchar_t  name[260];
+};
+
+struct _utimbuf
+{
+MSVCRT_time_t actime;
+MSVCRT_time_t modtime;
+};
+
+/* for FreeBSD */
+#undef st_

Re: Do we still need wineinstall?

2004-06-14 Thread Dimitrie O. Paun
On Sun, Jun 13, 2004 at 09:23:53PM +0100, Mike Hearn wrote:
 
> So - do we still need it?

I don't think so. You have my vote to nuke it :)
(getting rid of it is on the 0.9 TODO BTW)

-- 
Dimi.



Re: [WineHQ] service.cgi fixes

2004-06-15 Thread Dimitrie O. Paun
On Tue, Jun 15, 2004 at 05:14:46PM +0100, Paul Millar wrote:
> With network security, any activity implies at least some trust. The script 
> wasn't brilliant, but pushing the functionality into winrash doesn't really 
> solve the problem: we'd still need to verify the binaries somehow, or just 
> trust that the binaries are OK.

Yes, we need to verify them, but not before we verify the script. Otherwise,
it's much easier to feed us a hacked script...

> But, in the mean time, I'll continue generating the sig files (as it happens 
> automatically) so future gpg verification-code has something to test against.

Sure, that can't hurt, maybe one day we'll use it.

-- 
Dimi.



Re: WineHQ-hosted projects?

2004-06-16 Thread Dimitrie O. Paun
On Wed, Jun 16, 2004 at 07:09:28AM -0400, Joel Konkle-Parker wrote:
> I'd like to start up a WINE-based project to further development for a
> specific app. (e.g. The WINE-Star Wars Galaxies Project, or The
> WINE-Internet Explorer Project). Does WineHQ have a place to host such
> things (with their own sites, etc.), or should I turn to SourceForge?

WineHQ does not host other projects ATM, SourceForge is the way to go.

-- 
Dimi.



Re: [test.winehq.org] missing tests

2004-06-17 Thread Dimitrie O. Paun
On Thu, Jun 17, 2004 at 07:36:52PM +0200, Ferenc Wagner wrote:
> Not that I know of.  Submitting a patch, thanks for pointing
> it out.

Speaking of the test results, I've noticed the following problems:
  1. Some errors reported in the summary 
 don't get reported in the differences.
 For example, in today's results:
http://test.winehq.org/data/200406171000/
 If you look at the summary for the shlwapi:clist test,
 it reports 2 errors (in red) in the Win98 column.
 If you click on the "2", you are taken to the Win98
 differences table (correctly), but there's no mention in
 there of the shlwapi:clist test.

  2. The differences tables are inconsistent. They seem to
 prune lines that are all 0 (green), but not all of
 them. I can certainly still see lines that are all 0.
 Prunning those lines is not a bad idea, but if we
 do, then we should do it for all such lines, and we
 also shouldn't make the '0' in the summary a link,
 since it has nowhere to take us.

  3. We are running multiple test _per_ build, but only
 one is curretly reported. Currently, it says:
Main summary for build 200406171000 
 where '200406171000' is a link to the test. But since
 we have multiple downloads, it should be:
Main summary for build 200406171000: [0] [1] [2] [3]
 (or somesuch), where [x] is a link to the download.

  4. Each of the testers run and submit 4 sets of tests for
 a build, but only one is reflected in the results.
 This is related to the above point, and needs fixing.

-- 
Dimi.




Re: [test.winehq.org] missing tests

2004-06-17 Thread Dimitrie O. Paun
On Fri, Jun 18, 2004 at 02:33:31AM +0200, Ferenc Wagner wrote:
> "Dimitrie O. Paun" <[EMAIL PROTECTED]> writes:
> 
> Good catch, fixed (*)

Nice, thanks for the quick fix.

> >   2. The differences tables are inconsistent.
> 
> How can you say that?!  Do you think WineHQ can't reliably
> run my program?  :)  You may find my logic wrong, though.
> The differences show, well, the differences.  Lines are
> pruned iff - all the reports are the same (char by char) AND
>- no run failed AND
>- there were no errors (* from now).
> It doesn't work as well as I expected because lots of
> successful tests produce variable output.  I thought about
> fixing them, but I could as well change the pruning policy
> with much less work.  Shall I simply drop the first condition?

I think we should. We already have so much data that I don't
think anyone will start digging through a row of '0' trying
to figure out the differences. It would clean the output a bit.

> >  we also shouldn't make the '0' in the summary a link,
> >  since it has nowhere to take us.
> 
> Those links don't target specific lines, so they could as
> well stay, but I've got no objection against nuking them.

Maybe we can do two things:
  -- nuke the links for '0'
  -- make the other things line specific, if it's not too
 difficult (it shouldn't be, just create the 'id' based
 on the OS and test name. So say you have an error in Win95, 
 in the kernel:heap test. Just create the id
diff_Win95_kernel_heap
 so the URL should just be:
1
 You would need to assign the same id to the  element
 in the difference, but that should be easy as you have
 all the information available.

> >   3. We are running multiple test _per_ build, but only
> >  one is curretly reported. Currently, it says:
> > Main summary for build 200406171000 
> >  where '200406171000' is a link to the test. But since
> >  we have multiple downloads, it should be:
> > Main summary for build 200406171000: [0] [1] [2] [3]
> >  (or somesuch), where [x] is a link to the download.
> 
> This is a more complicated issue which I haven't dared to
> touch yet.  I planned to handle this as different builds, so
> there is no machinery in place for this variability.
> Neither for the download link, nor for the results.  The Tag
> could be overloaded for this purpose, and the download links
> should go into the differences header for easy access, where
> they could also serve as a quick indication of the build
> type.  Then we need short names or icons for the builds.

Nothing too complicated. Just append the above index
to the Tag, separated by ':'. So tests submitted by me
would be DimiPaun:0 DimiPaun:1 DimiPaun:2 DimiPaun:3
If I submit the results from the _same_ URL twice
(say from the '0' one), we can do:
DimiPaun:0.0 DimiPaun:0.1
But I don't think we need this complication currently.

> >   4. Each of the testers run and submit 4 sets of tests for
> >  a build, but only one is reflected in the results.
> >  This is related to the above point, and needs fixing.
> 
> 4?  I though it was 2: Kevin's and Paul's.  Or do they both
> plan to build with MinGW and MSVC?  Anyway, the reports

For now each submit two: one .zip, one compressed with as
a self-extractable. We hope to also have a MSVC build in
the future.

> should be present with the same tag, successively numbered.
> The annoying thing is that people started to number their
> tags, which leads to strange-looking headers.  Oh well.

Not if we separate them as I suggested above. I don't think
we currently allow ':' and '.' in the Tag.

> It would be possible to subdivide the columns under the tags
> by builds.  We would need a short build id for this at a
> well-defined place, like in a new field in the report or
> maybe in the first line of the Build info: block.

We can just assign numbers for that as I suggested above.
As long as we list in the begginning what each number
is (that is, the URL for it) we should be fine. Since they
all should come from the same BUILD-ID, there should be
no difference between then anyway (usually :).

-- 
Dimi.



Re: [test.winehq.org] missing tests

2004-06-17 Thread Dimitrie O. Paun
On Fri, Jun 18, 2004 at 03:41:35AM +0200, Ferenc Wagner wrote:
> I think separate columns would serve us better by not
> repeating the overly long tags several times. 

Separate columns are good idea if we can get them.

> > For now each submit two: one .zip, one compressed with as
> > a self-extractable.
> 
> I'm not sure I understand this.  The above two should always
> produce the exact same results, shouldn't they?  They
> contain the same executable after all...

Yes, in theory. But before we drop the .zip, we wanted
to make sure this is really the case. Unfortunately, we
can't see the results for now :( Once we make sure the
results are really the same, and the self-expandable
archive is not creating any problems, we can drop the .zip.
Meanwhile, it serves as a test case for doing multiple
submission for the same build id! :)

> Ah, finally I understand you.  I think.  So do you suggest
> that [1] and [2] may mean different things on different
> pages?  That would be possible with what we have now, you
> are right.  I can give it a shot, but only after having some
> sleep and maybe soccer, even.

Right, indeed, that was what I had in mind: [1], [2], etc.
are local to the page, not global. In other words, say that
for build XXX we get get a bunch of returns. We look into
them, and it turns out that the set of distinct URLs that
generated them are URLa, URLb, URLc, URLd. We just pick the
most convenient order (alphabetical would probably be best
to avoid to much variability on how we order them), and
we just list them:

 [0] : URLa
 [1] : URLb
 [2] : URLc
 [3] : URLd

Nothing that we shouldn't be able to do with what we have
now, AFAIU.

-- 
Dimi.




Re: docu update

2004-06-18 Thread Dimitrie O. Paun
On Fri, Jun 18, 2004 at 11:26:33AM -0700, Alexandre Julliard wrote:
> wineinstall is not out of date, it still works fine, I don't see any
> reason to remove it from the doc.

It's true, wineinstall works OK, but AFAIK we've decided to remove
it sooner rather then later, and I guess now it's a good enough time
(given that it doesn't do anything interesting anymore). So looking into
the future, wineinstall is deprecated, so we'd better not recommend
people use it, it will create more pain when we do actually remove it.

-- 
Dimi.



Re: docu update

2004-06-18 Thread Dimitrie O. Paun
On Fri, Jun 18, 2004 at 12:22:10PM -0700, Alexandre Julliard wrote:
> I don't see why we have to remove it at all. We have to remove most of
> its contents, sure, but even if all it does is wrap "configure;make"
> with some user-friendly messages it has some value IMO.

To be honest, I would be very happy if we can get rid of it.
Let me try to explain why:
  -- few people still build from source. The stats on SF show
 that only 15% of people get the source tarball, and there
 are good reasons for this.
  -- of the few who do d/l it as tarballs, most are power users
 that don't need/want a basic wrap around "configure;make"
  -- it is another abstraction that is unfamiliar to people,
 that needs to be understood for little gain.

For the last point, I'll tell you my experience with such wrappers.
First, I try to avoid as much as possible installing software that
is not package. On my system, the _only_ such package is wine since
I work on it. I will not try to justify it, suffices to say that most
people do the same, as shown by the stats. In the few occasions that
I had to (in the past) compile from .tar.gz, I was quite frustrated
by packages that did not follow the standard configure; make approach.
Yes, maybe their little script was more convenient, but for me was
a pain:
  -- I did not trust them. Why did they need a scipt? Why not follow
 the standard. I know, technically it makes no sense, but a
 psychological level that was my reaction. Go search and do extra
 work to (1) see what their script does, and (2) try to use the
 standard install method.
  -- once done, I did not have a warm and fuzzy feeling. Did I miss
 something? Should I have used their prefered method instead?
 Etc, etc.

Providing two ways for such a standard thing is not a good idea.
It's a matter of UI, and I've argued in the past that almost always
it's better to follow the known standard even unless you think you can
improve considerably. Having just a trivial wrapper around 
"configure;make", and advartising it in the documentation before the
well known standard does not do that IMO.

Let's remove it and see if people complain, and why they complain.
We are likely to find real problems that need fixing anyway.

-- 
Dimi.




Re: docu update

2004-06-18 Thread Dimitrie O. Paun
On Fri, Jun 18, 2004 at 07:26:23PM -0400, Vincent Béron wrote:
> Le ven 18/06/2004 à 17:44, Alexandre Julliard a écrit :
> > That's easy, they will complain about the thing wineinstall takes care
> > of, like not having write access to the build tree, conflicts with the
> > installed rpm, missing ld.so.conf entry, etc.  These things were added
> > to wineinstall precisely because many people complained about them.
> 
> ./configure --without-hand-holding could skip over those tests, and they
> would be there for a straight ./configure. It wouldn't have to be very
> documented...

I don't think we should do that. First of all, none of the problems 
mentioned are wine specific, and I don't think we need to try to
fix them like that. Second, as I have already argued, it seems most
of our builders from source are already power users, and are most
likely used to the configure; make cycle well enough that they don't
need the hand holding. In fact, they most likely hate it (as I do).
The Linux user landscape has changed quite a bit lately, to the point
where having wineinstall probably does more harm than good.

-- 
Dimi.



Re: docu update

2004-06-18 Thread Dimitrie O. Paun
> configure or LD_LIBRARY_PATH or whatever. Maybe you don't have
> clueless users asking you how to build Wine, but I get quite a bit of
> them; and being able to tell them "just run tools/wineinstall" saves
> me a lot of grief.

That's a fair argument, and I can understand that. If it saves you
time and agravation, it's worth it.

I guess my main concern is having wineinstall in the main flow
of the documentation. You're asking:

> What harm do you think it causes?  Have you heard of anybody
> complaining?  Why would any power user run wineinstall if they really
> hate it?

Well, as I've tried to explain, when I see stuff like this,
I'm always left with lingering questions: if I run the
standard method (configure;make) that I like, I'm wondering
wether I've missed something important. Are the bugs I'm
seeing caused by me not running wineinstall? If I do run
wineinstall, I do it against my first impulse so to speak,
and then I keep wondering why the heck couldn't they just
stick to the standard method.

I can't speak for others, but for me it's annoying (in projects
that I just install, not wine where I know what's going on).
Normally I'd suggest that clueless users use a packaged wine
instead, but you have a good point about building the latest
CVS. Hmmm.

Maybe making it less proeminent in the documentation,
but still keeping it around so you can point users to it?
Blah, maybe you're right, and people can't really run
configure; make
Shame.

-- 
Dimi.




Re: docu update

2004-06-19 Thread Dimitrie O. Paun
> (a) and (b) can be solved by WineHQ providing its own distro-neutral, run
> anywhere binary packages. This isn't hard as Wine is generally excellent
> at running on different peoples machines from the same binaries - after
> all, CodeWeavers need it. I think a nice installer for correctly built
> distro-neutral binaries for Wine would go a long way towards cutting the
> number of non-developers building from source down to zero.

I don't think we're doing too badly with the current packages -- over
85% of people go for them. Having a distro-neutral binary packages
would be good, and it may shave off another 5% or so of the people
who do go for source downloads.

The main problem however is that Wine is rapidly changing, and there
is a need to build from CVS. No amount of packaging the official
releases will solve that problem. But a distro-neutral might, because
it makes it feasible to provide automated nightly build on SF, just
like we do with winetest. Such a package can take care to avoid
conflicts with already installed .rpms, etc., stuff that wineinstall
is doing right now.

So, what about a autopackage package? :)

-- 
Dimi.



Re: docu update

2004-06-19 Thread Dimitrie O. Paun
On Sat, Jun 19, 2004 at 10:37:54AM -0700, Alexandre Julliard wrote:
> users build without having to fight the autoconf tools. It's for the
> same reason that we have wineinstall. Of course I'm all for improving
> the binary packages, but it doesn't avoid the need to also support
> source builds.

Supporting source builds, and making them easy, is a worthy goal, 
and we all understand that. We're not arguing to not support them.
Virtually every package out there works with the standard:
configure; make
We're arguing that wine should work just like that, without
requiring addition wrapper scripts.

Now, you've pointed out some uses cases (namely newbies that need
to build a most recent version), where a wrapper script is useful
to avoid some potential problems. For this use case, it seems to
us that a prepackaged binary would be double useful:
  -- it's easier on the user (let's face it, even if it's only one
 command, compiling Wine is not that fun, it used to take me
 1h and a lot of HD space). In fact, compiling is not the
 problem. The user needs to get the latest CVS tree, install
 devel packages, etc. all of which is a lot more complicated
 then configure; make. Installing a binary package on the
 other hand, is a lot faster, which means that the user will
 more likely go through with the operation.
  -- it's better for us, because we have a controlled build that
 we understand. We can build it so it has all the extensions
 enabled, and do it properly, on a known tool chain. This is
 an important attribute when dealing with a completely clueless
 user, and is in fact important on it's own, apart from the
 current wineinstall discussion.

The rest of source users will be able to deal with the
configure; make
no problem. The above is by no means complicated.

-- 
Dimi.




Re: winemaker problems for creating winelib DLL projects - Solved + bug in winemaker

2004-06-20 Thread Dimitrie O. Paun
On Sun, Jun 20, 2004 at 01:36:15PM +0300, Shachar Shemesh wrote:
> Shachar Shemesh wrote:
> 
> I managed to solve the above problem by adding a "-shared name.spec" to 
> the Makefile line that invokes the last winegcc. However, I think 
> winemaker should have added that line itself. Is this a bug?

Most likely, winemaker is in need of some love. Patches welcome. :)

-- 
Dimi.



Re: Setting up drive letters without wineinstall?

2004-06-20 Thread Dimitrie O. Paun
On Sun, Jun 20, 2004 at 06:21:58PM +0400, Vitaly Lipatov wrote:
> Please do not do it by default. Noone can parse my fstab 
> correctly :)

Maybe it needs fixin' :)

-- 
Dimi.




Re: MSVCRT - __unDNameEx

2004-06-21 Thread Dimitrie O. Paun
On Mon, Jun 21, 2004 at 11:33:24AM -0400, Andrei Barbu wrote:
> Is there a reason this isn't used there? or can I clean it up a little
> and include it? Yes it does have some fixme's, but it's better than
> ignoring it.

I can't see why not.

-- 
Dimi.




Re: LISTBOX_Directory() returns LB_OKAY for invalid directory / f ilen ame

2004-06-22 Thread Dimitrie O. Paun
On Tue, Jun 22, 2004 at 11:08:28AM -0700, Krishna Murthy wrote:
> The 'le' is an integer value and not a bitwise value. This means it could
> have only one error condition at a time.  

Right. Because of this fact:

> if ((le != ERROR_NO_MORE_FILES) || (le != ERROR_FILE_NOT_FOUND)) return
> LB_ERR;

Will always return LB_ERR. Proof:

 (le != ERROR_NO_MORE_FILES) || (le != ERROR_FILE_NOT_FOUND)  
## by deMorgan's Law 
== !((le == ERROR_NO_MORE_FILES) && (le == ERROR_FILE_NOT_FOUND))
## by transitivity
== !(ERROR_NO_MORE_FILES == ERROR_FILE_NOT_FOUND) 
## by the definition of these error codes
== !(18 == 2)
## different numbers are not equal
== !(FALSE)
## by negation
== TRUE

;)

-- 
Dimi.

P.S. I haven't done a formal proof since I was doing my M.Sc. at UofT :)



Re: !LOSTWAGES! site misc updates

2004-06-25 Thread Dimitrie O. Paun
On Fri, Jun 25, 2004 at 07:35:23PM +0200, Ivan wrote:
> As in subject. Jeremy, please let me know if there's anything wrong in this patch.

Do you really think we need to switch from American to English
spelling? What if someone else is sending a patch to convert back
to American? I think the spelling is fine the way it is now.

-- 
Dimi.



[RFC] Wine upgrade procedure (spec)

2004-06-28 Thread Dimitrie O. Paun
Hi folks,

It seems that we are getting ever so closer to 0.9. Slow, but steady.
Looking at the TODO, it looks like upgrading is one of the big 
showstoppers, in that it will affect (1) the end-user experience, and 
(2) how we deal with the configuration.

So this seems like a good time to start discussing this topic, as we 
need to eventually reach the elusive 0.9. This seems to be a difficult
topic, so we need to approach the problem well prepared. That is,
we need to first define (and agree) on what we need to solve here.
So after a tumultuous discussion on IRC, I decided to get the ball
rolling.

Intuitively, upgrading wine is simple to understand: once a new version
is installed, we need to get users in a state where they can use it.
While simple to state, this problem is complicated by the various corner
cases that can appear in Real Life (TM):
  -- native vs. builtin DLLs handling
  -- multiple Wine installations on a box
  -- updating only some DLLs
  -- integrating into the Unix environment
  -- dealing with Windows software

We can also look at some important use-cases that we need to support,
but before we do, the following must hold true in all cases:
   -- administrators should be able to install a new Wine on the
  system easily with "rpm -U" (or equivalent).
   -- the upgrade should not erase registry settings that are
  managed by the user

Let's look at the use-cases:

 A. Global Install
In this case, both Wine code, as well as applications are installed
globally, for all users to access. This is the most Unix-like setup,
but unfortunately the most difficult to support, due to the fact that
Win32 apps simply expect a different environment. Since we can't 
control application's code, this setup may present some limitations,
but it may be sufficient for sites that need a limited set of 
applications. For this to work, it is acceptable that we ship special
scripts that know about the applications that are supported, so that
they can work around inherent limitations in the applications 
themselves. Users should transparently be able to use the new version 
of wine, the next time they start wine.

  B. Mixed Install
 Here, Wine code is installed globally, but applications are installed
 in the user's account. In a way is like (A) but with some additional
 applications installed directly into the user's account. Same 
 requirements apply to this case as well.

  C. Local Install
 Both Wine code, as well as applications are installed locally, into
 the user's account. The Wine code is still installed globally by the
 administrator (as in A & B), but it is copied locally before it's
 being used. An upgrade in this case may require an explicit action
 by the user, so the upgrade can happen at a controlled time, when the
 user desires it.

In all of the above, there is always state in the user directory. Thus,
it is imperative that the upgrade process makes sure that after the
upgrade, the user-private state is consistent with the new code base.
Also, any solution must take into account that the registry must be
created on the fly, as it is created when registering the DLLs.

Before we go any further, I'd like to ask everybody to contribute their
thoughts/requirements/desires so that we get a conprehensive view of
the problem we are trying to solve.

Thanks for reading this far!

-- 
Dimi.




Re: [RFC] Wine upgrade procedure (spec)

2004-06-29 Thread Dimitrie O. Paun
On Tue, Jun 29, 2004 at 11:49:12AM +0100, Mike Hearn wrote:
> Short of copying the entire codebase into the users account when they
> explicitly choose to upgrade (ew, no other program does this) I can't see

I agree, I personally hate this too, but Alexandre has a point in that
this may be the most compatible setup, so at least in theory we should
be able to support it just in case we need to employ it later. However,
I'm fairly sure we don't need to actually get a working version for it
at this time, we just need to make sure we could, if we wanted to, without
replacing the entire upgrade mechanism.

> a good way of upgrading Wine while it's running that's free of race
> conditions. For instance, you could be in the middle of upgrading when a
> program you're running starts a new process: the wineserver may be using a
> different protocol to what the DLLs expect.
> 
> I really don't think for now we should try and support upgrades while
> running. It should probably be up to the packages/install scripts to alert
> the user if they try that.

Agreed. I think the most important thing is for Wine to integrate nicely
with the system where it's running, so that rpm -U / yum update works as
expected. If we go overboard with these sort of things, we may screw up
the OS integration (remember, rpm -U must be able to run unattended for
example), and this is a greater evil. Also, we have to be careful to not 
be more catholics than the Pope: I really doubt that any significant number 
of apps out there support 100% upgradability when they are running. In other 
words, an app that has more than one config/data file, would need to do 
locking to make sure that the data set that's spread around the files is 
treated atomically during upgrade. I personally think we can live with the
race when we read in the registry files, but if that causes problems, we
can add some locking so that we can read them in atomically. Maybe Alexandre
can comment on this, he seems to have thought of this scenario already.

> > We can also look at some important use-cases that we need to support,
> > but before we do, the following must hold true in all cases:
> >-- administrators should be able to install a new Wine on the
> >   system easily with "rpm -U" (or equivalent).
> 
> This is a use case we should definitely support but perhaps only in a
> special configuration where wine is a script which checks for a new
> version and copies it across next time it's started, or something like
> that.

That will not work, we install as root, we run it as a regular user.
Really, I see no difference between this and option (B) from the upgrade
mechanism point of view, I think the challange here is to simply get
the apps to run in this environment. We may need scripts that create
fake directories with a bunch of symlinks, etc. but this is another matter.

> > In all of the above, there is always state in the user directory. Thus,
> > it is imperative that the upgrade process makes sure that after the
> > upgrade, the user-private state is consistent with the new code base.
> > Also, any solution must take into account that the registry must be
> > created on the fly, as it is created when registering the DLLs.
> 
> One possible solution here is a new wineserver request that switches the
> registry files in use, so to update the registry in a way that doesn't
> disturb currently running programs you can connect to a new wineserver
> instance (separate socket), switch registry files to "system.reg.new" or
> whatever, run wine.inf and then have another request which does an atomic
> rename of the registry files over the new ones once merged. This means the
> old wineserver instance is still using the old registry file inodes, but
> next time the Wine session is started up it'll be using the new registry.

Right, I was thinking along the same lines, but I'm not sure we can work with
the same wineserver. For one, we will have one wineserver instance per user,
running as the user, whereas for global install we need one that runs as root.
But we do need to create these files at runtime, so we may need a special
operation mode to achive it.

-- 
Dimi.




Re: Missing declaration for MSVCRT_div_t and MSVCRT_ldiv_t

2004-06-29 Thread Dimitrie O. Paun
On Tue, Jun 29, 2004 at 01:27:23PM +0200, Pierre d'Herbemont wrote:
> Hi!
> 
> On non-i386 we have to define MSVCRT_div_t and MSVCRT_ldiv_t.

Please also add the appropriate tests to tests/headers.c.

-- 
Dimi.



Re: Scrollbars, an application bug or a wine regression ? (#2314)

2004-06-30 Thread Dimitrie O. Paun
On Wed, Jun 30, 2004 at 10:04:49AM +0200, George Marshall wrote:
> Well no, with the Wine release of May the application had no
> scrollbars (correctly) while with June release the scrollbars
> are shown and are not working properly.

Figuring out the exact patch that introduced the problem would
be most helpful:

http://winehq.org/site/docs/wine-devel/cvs-regression

-- 
Dimi.



Re: Initial creation of directory and config with ttydrv

2004-07-10 Thread Dimitrie O. Paun
On Sat, Jul 10, 2004 at 01:54:30PM +0100, Mike Hearn wrote:
> On Sat, 10 Jul 2004 09:55:20 +0300, Shachar Shemesh wrote:
> > That's ugly. I cannot touch a file that doesn't belong to me.
> 
> Just submit a patch that lets you override the video driver in use via an
> environment variable.

Can't we just try to load the ttydrv if the x11drv fails to load?
(That is, when there's no explicit driver setting).

-- 
Dimi.



Re: Is bugzilla worth keeping?

2004-07-28 Thread Dimitrie O. Paun
On Sun, Jul 25, 2004 at 03:02:13PM +0100, Mike Hearn wrote:

[finally back on email, account was busted for a while]

> Dimi thought it should be kept as well, but thought the UI could be
> improved a lot: for instance a mail based interface would be good. He
> also thought a dedicated triage guy would be great.  Realistically
> though that's not likely to happen anytime soon. Alexandre basically
> agreed with this view, I think.

There's no reason this shouldn't happen anytime soon. We had a few
great guys triaging bugs in Bugzilla. People are looking to help,
maybe someone steps up to the task.

-- 
Dimi.



Re: WineHQ:service.cgi: fix winrash option

2004-07-28 Thread Dimitrie O. Paun
On Wed, Jul 28, 2004 at 11:51:58PM -0400, Kevin Koltzau wrote:
> On Wednesday 28 July 2004 04:36 pm, [EMAIL PROTECTED] wrote:
> > Your help is much appreciated.  This is a tricky issue it seems as SF isn't always 
> > reliable for downloads...
> 
> Gentoo handles this situation fairly well, it simply uses a URL format 
> 'mirror://sourceforge/project/file'
> and has a small database of sourceforge base urls that are tried in a round robbin 
> until all are attempted
> or the file is successfully downloaded. Possibly a solution similar to this may work 
> for us

I still don't understand why we need all this complication. All you need to do is to 
have a
*private* list of such mirrors, and to simply poll them after uploading until you can
successfully download the file from one of them. At that point, use that mirror's 
address
to publish the release on WineHQ.

-- 
Dimi.



Re: Test drive error

2004-07-29 Thread Dimitrie O. Paun
On Thu, Jul 29, 2004 at 01:50:20PM +0300, sergio ojalvo wrote:
> Hi
> I'm working on Debian Linux. I just install the wine packages and
> download sources for trying the test driver.
> Running Winemaker to winemine test project I note: that configure script
> was not created and Makefile is created instead of Makefile.in. (like
> wrote in the web page)
> I think is a new feature... I'm wrong?

It is a new feature, it's true.

> Anyway, I try to run make after that and that is the output:
> 
> winebuild -o winemine.exe.dbg.c --debug -C. dialog.c main.c 
> winegcc -c  -mno-cygwin -I.   -o winemine.exe.dbg.o winemine.exe.dbg.c
> winegcc -c  -mno-cygwin -I.   -o dialog.o dialog.c
> winegcc -c  -mno-cygwin -I.   -o main.o main.c
> wrc   -I.   -foEn.res En.rc
> En.rc:23:22: Error: syntax error

That means there's something around line 23 in the En.rc file that
wrc doesn't understand. Can you send us a copy of the file?

> After that I try with another 2 projects (win32 code) and I receive a
> lot of compilation errors like:
> 
> In file included from /usr/include/c++/3.3/iosfwd:46,
>  from /usr/include/c++/3.3/ios:44,
>  from /usr/include/c++/3.3/ostream:45,
>  from /usr/include/c++/3.3/iostream:45,
>  from midi2nokia.cpp:4:
> /usr/include/c++/3.3/i486-linux/bits/c++locale.h:53: error: `uselocale'
> was not declared in this scope

Using the std C++ lib is still a problem if you need to use
msvcrt. Try to use wineg++ (instead of winegcc) *without* 
the -mno-cygwin flag.

-- 
Dimi.




Re: Test drive error

2004-07-29 Thread Dimitrie O. Paun
On Thu, Jul 29, 2004 at 10:05:09PM +0300, sergio ojalvo wrote:
> I get the tar files with the sources from sourceforge and didn't change
> this file.

Yes, but unfortumately, winemaker is not perfect, and in this very
case it's buggy. En.rc is not meant to be compiled independently,
but rather be included in another file. That's why you need to
manually fix the Makefile, but replacing En.rc with rsrc.rc.

> > Using the std C++ lib is still a problem if you need to use
> > msvcrt. Try to use wineg++ (instead of winegcc) *without* 
> > the -mno-cygwin flag.
> Can you explain exactly what to do?  I'm newbie on this project.
> I just do:
>   $ winemaker --mfc -Imydir .
>   $ make

Once again, winemaker is far from perfect. You need to manually
adjust and fix the generated Makefile. In this case, as I said,
  1. replace winegcc with wineg++
  2. get rid of the -mno-cygwin flag

-- 
Dimi.



Re: Linking with dlls and Linux libs using winelib?

2004-07-30 Thread Dimitrie O. Paun
On Fri, Jul 30, 2004 at 11:06:29AM +, James Supancic wrote:
> I need to compile a Windows application under Linux. I need to use dlls and 
> Linux librarys. No matter what I try I can't get winegcc to include the 
> Linux librarys in the linking stage. What must I do to get winegcc to link 
> with both the dlls and Linux libs?

We can start by sending us a run of the linking stage with
the -v -v options.

-- 
Dimi.



Re: list view completely mangled in WINE

2004-07-30 Thread Dimitrie O. Paun
On Fri, Jul 30, 2004 at 05:26:57PM +0200, Tobias Burnus wrote:
> Hello,
> 
> in Crystal Impact's Diamond the list view is completely mangled and only 
>   barely recognizable as list view.

Tobias,

I'll try to look into it. I have been however immensely busy
lately, so please remind me if I don't get back to you soon.

-- 
Dimi.



Re: list view completely mangled in WINE

2004-08-02 Thread Dimitrie O. Paun
On Sat, Jul 31, 2004 at 05:52:21AM +0200, Filip Navara wrote:
> Tobias Burnus wrote:
> [snip]
> 
> Can you try the attached patch please?
> 
> Changelog:
> - Don't update infoPtr->dwStyle in LISTVIEW_WindoProc. It's already
>   handled in LISTVIEW_StyleChanged and LISTVIEW_Create processing.
>  
> -  if (infoPtr)
> -  {
> -infoPtr->dwStyle = GetWindowLongW(hwnd, GWL_STYLE);
> -  }
> -
>switch (uMsg)
>{
>case LVM_APPROXIMATEVIEWRECT:

Can you please explain why updating it is a problem? Yes, we may be
doing more work than needed, but at most it should be a no-op.
In fact, we used to call 'GetWindowLongW(hwnd, GWL_STYLE)' every
time we needed to get to the dwStyle, so updating it in there
should be OK.

BTW, I've tried to install the demo, but the installer dies on my
version of wine. Does it work for you, or did you use Windows for
the installation?

-- 
Dimi.



Re: list view completely mangled in WINE

2004-08-02 Thread Dimitrie O. Paun
On Tue, Aug 03, 2004 at 01:42:28AM +0200, Filip Navara wrote:

> Unfortunetly I can't explain it, because I don't understand it myself. I 

In which case I must object to the patch :( It seems we're just hiding
a problem in a very convoluted way, don't you think?

> have inserted debug messages on all the places where the listview 
> display mode can be changed  and none of them appeared. After going once 
> more through the whole code I found this. Obviously it seemed redundant 
> and the only reason for doing that was workarounding problems with 
> changed WS_VSCROLL and WS_HSCROLL styles (which correctly don't recieve 
> WM_STYLECHANGED notifications from the scrolling code). So I tried 
> removing it and ... whoa ... to my surprise it started to work.

The problem is that WM_STYLECHANGED is sometimes sent, sometimes not,
and it seems so much easier to just update it every time we come in
so we can be sure we're using the latest value, as we should. It's
redundant, I agree, but it's neglijable in terms of performance so
I've put it in due to it's simplicity. This way the dwStyle has a
very simple to understand semantics. In fact, I've meant to remove
it eventually, just like you did, but only as an optimization. However,
doing so to fix a bug in a way that we don't understand worries me
greatly. I'd rather keep it in, and fix the problem.

-- 
Dimi.



Re: list view completely mangled in WINE

2004-08-02 Thread Dimitrie O. Paun
On Tue, Aug 03, 2004 at 03:17:27AM +0200, Filip Navara wrote:
> I did another test. I intserted a code into the ListView window 
> procedure to print a message every time the internal dwStyle member 
> doesn't match the one returned by GetWindowLong with GWL_STYLE. To my 
> little surprise they were different right from the beginning (even for 
> WM_CREATE message). The one returned by GetWindowLong didn't contain the 
> listview specific flags, 

If so, how did the listview work at all until now?!?

> WS_VSCROLL/WS_HSCROLL sometimes didn't match 
> (as I explained why) and for the WS_CREATE message the WS_VISIBLE flag 
> was different. I searched my local MSDN copy in order to find why this 
> happens and the only relevant article I found is this:
> http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q83366. The 

Good stuff, maybe we should link to it from WineHQ

> "SUMMARY" part of the article sort of explains why this happens (at 
> least according to my understanding) and so I think the patch is OK. Do 
> you agree?

Almost. If it does go in though, we need to:
  -- fix a few more places where we look at WS_[VH]SCROLL
  -- understand why did the listview work at all if the LVS_ stuff was missing
  -- do an audit (or add a Janitorial task) to audit and fix the
 other controls as well.

(of course, only the 1st point is really needed for the patch to go in,
 but the other two would be nice to have).

-- 
Dimi.



Re: Add debugstr_rect alias for consistency with other debugging functions.

2004-08-08 Thread Dimitrie O. Paun
On Sat, Aug 07, 2004 at 04:00:25PM -0700, Alexandre Julliard wrote:
> Mike Hearn <[EMAIL PROTECTED]> writes:
> 
> > The lack of this confused me for a few minutes, might as well stick it in.
> 
> It's missing because it violates namespace rules. The other debugstr
> functions are here for historical reasons but we shouldn't add new ones.

Please let's not do this inside of Wine. Clearly, we want to export
everthing with the WINE_/wine_ prefix, I'm not debating this. I can 
also see that we want to be consistent, and that's a good thing -- 
for all but the debugging API our symbol invokations are far and few
in between, and it actually *helps* to see when we call a non-standard 
API.

However, the exact opposite holds for the debugging API: it is the
most used API in the source, and it doesn't help to know that it's
a Wine API. Having the prefix on every single symbol of this API
would not only greatly clutter the code, but I'd also claim it's not
the style we should promote. People should try to write portable
Win32 code (and here portable is between MS Windows and Wine), and
a wine_ prefix is a big bad warning sign. One should be able to grep
the sources for wine_ to figure out such places. Hiding them inside
mountains of debug calls will not help.

Usage of the debug API should not tie the code to Wine, and the
source should make it clear. We should promote symbol renaming
for Winelib apps (just like we do in Wine today):
#define ERR WINE_ERR
#define TRACE WINE_TRACE
...

Apart for much cleaner code, it's also useful, as I can see many 
people do:
#ifdef WINE
#define ERR WINE_ERR
#define TRACE WINE_TRACE
...
#else
#define ERR printf
#define TRACE printf
...
#endif

I have a sentimental attachment to the Wine's debugging API, as it was
the first project that I undertook in Wine. It was what "hooked" me in.
This may be a small issue, and probably I shouldn't care, but I can't
help it. I truely think requiring the WINE_/wine_ prefix inside of Wine 
for commonly used symbols in the debugging API is not a good direction,
and I really hope we can revisit this decision.

-- 
Dimi.




Re: Wine devel: Two MFC bugs

2004-08-09 Thread Dimitrie O. Paun
> The first is a display problem of edit boxes; for some reason the text
> (numbers) are displaying left justified, instead of right justified. The
> edit boxes are definitely set for right justified and display fine in
> Windows.

This is a known problem. Our edit control does not currently support
the ES_RIGHT style at this time.

> The second bug is that when I multi-select files to perform an operation on,
> nothing happens. One selected file works fine, but any additional ones cause
> nothing to happen. Works fine in Windows.

What control are you using for the multi-select?

-- 
Dimi.



Re: Win API Stats

2004-08-12 Thread Dimitrie O. Paun
On Thu, Aug 12, 2004 at 03:36:38AM -0400, Tom wrote:
> Hello,
> 
> The Win API Stats page is broken in a bad way!
> See: http://www.winehq.org/site/winapi_stats
> I think we should just go with 
> http://fgouget.free.fr/wine/winapi_stats-en.shtml

No, we should just fix it, it was working fine some time ago.
It is, in fact, running the same code as Francois'.

-- 
Dimi.



Re: Acknowledgment page

2004-08-12 Thread Dimitrie O. Paun
On Thu, Aug 12, 2004 at 08:56:24AM -0500, Jeremy White wrote:
> Hmm.  I have several thoughts on this.  First, I think
> that corporate sponsors get enough 'props'. While I appreciate
> the gesture, I'd rather the acknowledgements page highlight
> the many people who do good work for Wine without
> pay or other recompense.

I still find it informative to see what companies did, so I
suggest we simply move them towards the bottom of the page,
rather then remove the info altogether.

-- 
Dimi.



Re: NTDLL: Fix signed/unsigned comparison warnings

2004-08-13 Thread Dimitrie O. Paun
On Fri, Aug 13, 2004 at 03:14:21PM +0200, Hans Leidekker wrote:
> 
> This time I have tried to be more careful, by not watching a
> football match at the same time for example ;) And with this
> patch all tests still succeed, although they would not detect
> every signedness change of course.

Any gadge on if/when will be able to turn this warning on
by default? How many warnings are currently left?

-- 
Dimi.



Re: comctl ipaddress enable not working

2004-08-13 Thread Dimitrie O. Paun
On Fri, Aug 13, 2004 at 03:10:01PM -0400, Robert Reif wrote:
> I have a program which will not gray out an IP address control when it 
> is not enabled.

ipaddress is a distant memory :) I can look at it in a few days,
I'll be leaving for the weekend in a few hours, so I can not do
it sooner.

-- 
Dimi.



Re: Backtrace Dumps

2004-08-17 Thread Dimitrie O. Paun
On Tue, Aug 17, 2004 at 04:03:33PM -0700, Alexandre Julliard wrote:
> Robert Shearman <[EMAIL PROTECTED]> writes:
> 
> I think it's better to let the debugger take care of that. If you
> don't want a real breakpoint you could define a custom exception to
> tell winedbg to just dump the backtrace and continue.

I am not 100% how the patch that Robert's proposing would work in
practice, but I can tell you (from working with Java for a long
time now) that having readily available backtraces is invaluable.

I for one love backtraces, but on the other hand I don't much
care for debuggers. Having access to them without being forced
to go through the debuger would be much appreciated.

-- 
Dimi.



Re: Wine Status - User Interface

2004-08-18 Thread Dimitrie O. Paun
On Tue, Aug 17, 2004 at 07:31:33AM -0400, Tom wrote:
> I haven't done the changelog so just view this againt
> http://www.winehq.org/site/status_ui for changes or diff.
> 
> commits, suggestions, and flames are welcomed

Looks good!

-- 
Dimi.




Re: iostream and msvcrt?

2004-08-18 Thread Dimitrie O. Paun
On Wed, Aug 18, 2004 at 11:32:33AM +0300, Boaz Harrosh wrote:
> >I have used STLport before
> >so the idea sounds feasable to me.  I imagine I have to change the
> >gcc-linux.mak by:
> >
> >replacing the call to gcc with winegcc,
> >removing references to GLIBC,
> > 
> >
> Better go with gcc-mingw.mak, as threading and OS is more Windows than 
> Linux. See if they have a -nocygwin variant.

Yes, it should work with the gcc-mingw.mak by changing
   gcc -> winegcc
   g++ -> wineg++

> >adding a path pointing to /include/wine/MSVCRT.
> >
> > 
> >
> Yes exactly. You'll see that you end up with a complete xxx-wine set of 
> makefiles and headers.

No, you shouldn't need that. You just need to make sure you pass
the -mno-cygwin flag to winegcc/wineg++.

-- 
Dimi.




Re: iostream and msvcrt?

2004-09-07 Thread Dimitrie O. Paun
On Thu, Aug 19, 2004 at 04:00:19PM +1000, Scott Snell wrote:
> Hi Dimi,
> 
> Thanks for helping out.  I made the changes you suggested to the
> gcc-mingw.mak file for STLPort.  When I go make it does a:
> 
> wineg++ -I../stlport -W -Wno-sign-compare -Wno-unused -Wno-uninitialized
> -mno-cygwin -O2 -D_STLP_USE_DYNAMIC_LIB dll_main.cpp -c -o
> ../lib/obj/MINGW32/ReleaseD/dll_main.o
> 
> which throws up a world of errors, such as:
> 
> In file included from ../stlport/cstdlib:25,
> from ../stlport/stl/debug/_debug.c:160,
> from ../stlport/stl/debug/_debug.h:418,
> from ../stlport/utility:40,
> from dll_main.cpp:35:
> /usr/include/c++/3.3.2/cstdlib:97: error: `div' not declared
> /usr/include/c++/3.3.2/cstdlib:102: error: `ldiv' not declared
> /usr/include/c++/3.3.2/cstdlib: In function `ldiv_t std::div(long int, long
> int)':

Just got back from vacation. Why is it including a cstdlib?
Anyway, can you send me exactly what you did, so I can try
to reproduce it on my box?

-- 
Dimi.



Re: Fix bin2res Help Text

2004-09-07 Thread Dimitrie O. Paun
On Mon, Sep 06, 2004 at 02:37:05AM +0100, Robert Shearman wrote:
>   "/* BINRES idb_std_small.bmp */\n"
> - "   {}\n"
> + "IDB_STD_SMALL BITMAP idb_std_small.bmp\n"
> + "/* {\n"
> + "} */\n"

What's wrong with the current help. I thought BINRES is the marker...

-- 
Dimi.



Re: Simple bugzilla question

2004-09-08 Thread Dimitrie O. Paun
On Wed, Aug 25, 2004 at 07:23:44PM +0100, Ann and Jason Edmeades wrote:
> My understanding is I accept it and assign to myself, then fix it, then
> what... Do I put the bug in fixed state and submit the patch or leave that
> change to the raised?

You submit the patch to wine-patches, and then add a note with a link
to the wine-patches archive of your message. Once it is committed,
you mark it FIXED, and you add a link to the wine-cvs archive of the
committed patch. After that, hopefully the original submitter will
verify that the fixed work for him, and will close the bug. Keep an
eye on it, and if that does not happen in 2 weeks or so, CLOSE it
yourself.

-- 
Dimi.



Re: Acknowledgement page

2004-09-08 Thread Dimitrie O. Paun
On Sat, Sep 04, 2004 at 04:37:52PM -0600, Brian Vincent wrote:
> Should have explained that bit.. anyone listed on the Who's Who 
> page doesn't show up here.  This list will fall right under that on
> the introduction page..  but perhaps I need to add a reference back
> to the Who's Who page.

I think the page looks good, but this set difference between this page
and Who's Who makes things overly complicated (to the point where there
always be confusion, no matter how may links you put in). It's much
easier to understant if we have a liner and uniform definition for the list:
All people that contributed more than {8,10,12,15} patches.
Or whatever other criteria.

Also, I think we should have a proeminent place for Alexandre,
he's given so much to this project, more then anyone else. He
deverves a statue, if one could be build on the site, as far as
I am concerned.

-- 
Dimi.




Re: test.winehq.org site

2004-09-08 Thread Dimitrie O. Paun
On Wed, Sep 08, 2004 at 06:32:31PM +0200, Saulius Krasuckas wrote:
> When can we expect it to be up and running?

It is up and running, we're just missing an index page.
Until that gets created, use this link instead:

http://test.winehq.org/data/

Unfortunately, the testing process has been broken lately,
for unknown reasons.

-- 
Dimi.



Re: Linking with winelib

2004-09-09 Thread Dimitrie O. Paun
On Sat, Sep 11, 2004 at 04:13:30AM +0600, Nikolay A. Liber wrote:
> Hello
> 
> I am using winelib with Mono hack to load windows DLL into python 
> module. There is a dummy function wine_pthread_init_thread in 
> libwine.so. wine_pthread_init_thread implemented in winelib.so.exe from 
> mono shared winelib. I link module.
> 
> gcc -shared mymodule.so module_code.o -lwine ./winelib.so.exe
> 
>  But  when I load module init_thread from ntdll calls dummy 
> wine_pthread_init_thread. How to override that dumy function?

I think it's probably better to build python as a Winelib app instead
of using the Mono hack. They had a very narrow set of requirements
which may not be enough for Python, and you will experience all sorts
of weird problems if that's the case.

-- 
Dimi.



Re: dinput axis mapping and format mapping patch

2004-09-10 Thread Dimitrie O. Paun
On Fri, Sep 10, 2004 at 09:46:42AM +0100, Mike Hearn wrote:
> OK, makes sense. I'll work on adapting winecfg. I'll also try compiling 
> a list of the registry entries we use, I don't think there is any such 
> list currently is there?

Please work on this one, it needs love:
http://winehq.org/site/status_options

-- 
Dimi.



Re: winecfg (was Re: W->A calls)

2004-09-10 Thread Dimitrie O. Paun
On Fri, Sep 10, 2004 at 08:19:09PM +0200, Joris Huizer wrote:
> site about that (I found a http://sourceforge.net/projects/winecfg/ but 
> it seems the last update was over a year ago..)
> What's there to do, how to... etc - kind find much documentation except 
> for the fact it's mentioned as a Todo thing :-/

If you want to work on winecfg, use the one in the Wine tree,
in the programs/winecfg directory.

-- 
Dimi.



Re: Correct ConvertSidToStringSidW with test

2004-09-11 Thread Dimitrie O. Paun
On Sat, Sep 11, 2004 at 08:37:09AM -0700, Juan Lang wrote:
> ConvertSidToStringSidW was incorrect for low-value
> authorities; it put spaces in the resulting string. 
> This corrects that, and includes a test case for it.
Content-Description: advapi32.diff

Uniffied diff, please :)

-- 
Dimi.




Re: Other W->A crosscalls

2004-09-12 Thread Dimitrie O. Paun
On Wed, Aug 25, 2004 at 02:17:22PM -0400, Vincent Béron wrote:
> That was with current CVS, before Alexandre last commits :)
> Yes, they did disappear. Attached is a revised log.

Here is a somewhat cleaned up list. It's not too bad it seems,
at 144 entries:

crypt.c 514 CryptAcquireContextW: call to CryptAcquireContextA
crypt.c 1136 CryptEnumProviderTypesW: call to CryptEnumProviderTypesA
crypt.c 1299 CryptGetDefaultProviderW: call to CryptGetDefaultProviderA
crypt.c 1754 CryptSetProviderExW: call to CryptSetProviderExA
string.c 630 StrRStrIW: call to COMCTL32_ChrCmpIA
tooltips.c 1044 TOOLTIPS_AddToolW: call to SendMessageA
colordlg.c 1292 ChooseColorW: call to FindResourceA
filedlg.c 481 GetFileDialog95W: call to GetCurrentDirectoryA
filedlg.c 501 GetFileDialog95W: call to SetCurrentDirectoryA
filedlg.c 3668 GetFileName31W: call to GetWindowLongA
fontdlg.c 1135 FormatCharDlgProcW: call to GetPropA
printdlg.c 165 PRINTDLG_SetUpPrinterListComboW: call to GetDefaultPrinterA
printdlg.c 167 PRINTDLG_SetUpPrinterListComboW: call to SendDlgItemMessageA
printdlg.c 384 PRINTDLG_UpdatePrintDlgW: call to LoadStringA
printdlg.c 387 PRINTDLG_UpdatePrintDlgW: call to LoadStringA
printdlg.c 389 PRINTDLG_UpdatePrintDlgW: call to MessageBoxA
printdlg.c 684 PRINTDLG_SetUpPaperComboBoxW: call to SendDlgItemMessageA
printdlg.c 691 PRINTDLG_SetUpPaperComboBoxW: call to SendDlgItemMessageA
printdlg.c 748 PRINTDLG_SetUpPaperComboBoxW: call to SendDlgItemMessageA
printdlg.c 763 PRINTDLG_SetUpPaperComboBoxW: call to SendDlgItemMessageA
printdlg.c 768 PRINTDLG_SetUpPaperComboBoxW: call to SendDlgItemMessageA
printdlg.c 1101 PRINTDLG_ChangePrinterW: call to LoadStringA
printdlg.c 1103 PRINTDLG_ChangePrinterW: call to SendDlgItemMessageA
printdlg.c 1112 PRINTDLG_ChangePrinterW: call to SendDlgItemMessageA
printdlg.c 1116 PRINTDLG_ChangePrinterW: call to SendDlgItemMessageA
printdlg.c 1169 PRINTDLG_ChangePrinterW: call to SendDlgItemMessageA
printdlg.c 1305 PRINTDLG_WMInitDialogW: call to LoadImageA
printdlg.c 1307 PRINTDLG_WMInitDialogW: call to LoadImageA
printdlg.c 1311 PRINTDLG_WMInitDialogW: call to LoadIconA
printdlg.c 1313 PRINTDLG_WMInitDialogW: call to LoadIconA
printdlg.c 1317 PRINTDLG_WMInitDialogW: call to SendDlgItemMessageA
printdlg.c 1334 PRINTDLG_WMInitDialogW: call to RegisterWindowMessageA
printdlg.c 1612 PRINTDLG_WMCommandW: call to SendDlgItemMessageA
printdlg.c 1615 PRINTDLG_WMCommandW: call to SendDlgItemMessageA
printdlg.c 1667 PRINTDLG_WMCommandW: call to SendDlgItemMessageA
printdlg.c 1676 PRINTDLG_WMCommandW: call to SendDlgItemMessageA
printdlg.c 1696 PRINTDLG_WMCommandW: call to SendDlgItemMessageA
printdlg.c 1700 PRINTDLG_WMCommandW: call to SendDlgItemMessageA
printdlg.c 1706 PRINTDLG_WMCommandW: call to SendDlgItemMessageA
printdlg.c 1723 PRINTDLG_WMCommandW: call to SendDlgItemMessageA
printdlg.c 1726 PRINTDLG_WMCommandW: call to SendDlgItemMessageA
printdlg.c 1733 PRINTDLG_WMCommandW: call to SendDlgItemMessageA
printdlg.c 1736 PRINTDLG_WMCommandW: call to SendDlgItemMessageA
printdlg.c 2507 PRINTDLG_PS_UpdateDlgStructW: call to GetDlgItemTextA
printdlg.c 2508 PRINTDLG_PS_UpdateDlgStructW: call to GetDlgItemTextA
printdlg.c 2509 PRINTDLG_PS_UpdateDlgStructW: call to GetDlgItemTextA
printdlg.c 2510 PRINTDLG_PS_UpdateDlgStructW: call to GetDlgItemTextA
printdlg.c 2712 PageDlgProcW: call to SetPropA
printdlg.c 2744 PageDlgProcW: call to SetDlgItemTextA
printdlg.c 2746 PageDlgProcW: call to SetDlgItemTextA
printdlg.c 2748 PageDlgProcW: call to SetDlgItemTextA
printdlg.c 2750 PageDlgProcW: call to SetDlgItemTextA
printdlg.c 2756 PageDlgProcW: call to SetDlgItemTextA
printdlg.c 2757 PageDlgProcW: call to SetDlgItemTextA
printdlg.c 2758 PageDlgProcW: call to SetDlgItemTextA
printdlg.c 2759 PageDlgProcW: call to SetDlgItemTextA
printdlg.c 2768 PageDlgProcW: call to GetPropA
main.c 245 DirectDrawEnumerateExW: call to DirectDrawEnumerateExA
font.c 242 FONT_EnumLogFontExWToA)(pointer_type(parm_decl(fontW: call to 
FONT_LogFontWToA
font.c 314 FONT_NewTextMetricExWToA)(pointer_type(parm_decl(ptmW: call to 
FONT_TextMetricWToA
printdrv.c 99 StartDocW: call to HEAP_strdupWtoA
printdrv.c 101 StartDocW: call to HEAP_strdupWtoA
printdrv.c 103 StartDocW: call to HEAP_strdupWtoA
printdrv.c 106 StartDocW: call to StartDocA
comm.c 2161 CommConfigDialogW: call to HEAP_strdupWtoA
comm.c 2164 CommConfigDialogW: call to CommConfigDialogA
comm.c 2286 SetDefaultCommConfigW: call to HEAP_strdupWtoA
comm.c 2289 SetDefaultCommConfigW: call to SetDefaultCommConfigA
resource.c 235 FindResourceExW: call to get_res_name_type_WtoA
lzexpand_main.c 313 GetExpandedNameW: call to GetExpandedNameA
lzexpand_main.c 564 LZOpenFileW: call to LZOpenFileA
rpc_binding.c 335 RPCRT4_CreateBindingW: call to RPCRT4_strdupWtoA
rpc_binding.c 367 RPCRT4_CompleteBindingW: call to RPCRT4_strdupWtoA
rpc_binding.c 370 RPCRT4_CompleteBindingW: call to RPCRT4_strdupWtoA
rpc_binding.c 372 RPCRT4_CompleteBindingW: call to RPCRT4_strndupA
rpc_binding.c 1032 RpcBi

Re: resend: patch: shell32.dll - SHELL_ArgifyW expands env-vars

2004-09-13 Thread Dimitrie O. Paun
On Mon, Sep 13, 2004 at 09:44:12AM +0100, Mike Hearn wrote:
> 
> 
>Check out the NEW! IMPROVED! Wine developer cheatsheet here:
> 
>http://navi.cx/~mike/wine/developer-cheatsheet.html
> 
>Everything you always wanted to know but were too afraid to ask,
>in ONE convenient document!!
> 
> 

Cool. I hope you know this will have to end up on WineHQ, under the
Development section, right? :)

-- 
Dimi.



Re: Other W->A crosscalls

2004-09-14 Thread Dimitrie O. Paun
On Tue, Sep 14, 2004 at 11:22:46PM +0200, Michael Stefaniuc wrote:
> How did you generated this list? By manualy working through the list
> generated by Vincent's smatch script or by modifying the script
> directly?

By manually working through the list, yes.

-- 
Dimi.



Re: Pager Control: Rewritten

2004-09-15 Thread Dimitrie O. Paun
On Wed, Sep 15, 2004 at 07:54:44PM +0100, Robert Shearman wrote:
> Hi,
> 
> This is a large patch that rewrites a lot of the layout and button state 
> code in the pager control. 

Cool stuff. While this is still fresh in your mind,
an audit against comctrl v6.0 would be good too... :)

-- 
Dimi.



Re: Other W->A crosscalls

2004-09-15 Thread Dimitrie O. Paun
> Once I got rid of the duplicate calls I ended up with 130.

What do you mean duplicate calls? Can you give a few examples
of entries that you eliminated?

-- 
Dimi.



Re: MSCMS: new dll

2004-09-19 Thread Dimitrie O. Paun
On Sun, Sep 19, 2004 at 09:29:39AM +0200, Hans Leidekker wrote:
> On Sunday 19 September 2004 06:06, Dmitry Timoshkov wrote:
> 
> Yes, I tried that option but it has even bigger problems. First, the header
> doesn't have such a define! It defaults to building on non-windows platforms
> and requires you to edit the file if you want a Windows build.
> 
> Furthermore, when you do so it immediately includes windows.h, which is not
> allowed within Wine.

It's probably best to also try to submit a patch to the Little CMS folks
so we can have a better solution in the future.

-- 
Dimi.



Re: RFC: more Windows-NT like user directories?

2004-09-20 Thread Dimitrie O. Paun
On Mon, Sep 20, 2004 at 12:32:19AM -0700, Juan Lang wrote:
> Folks, I'm still working on the shell path functions,
> and I was thinking of changing the directory layout
> for the shell directories (desktop, start menu, my
> documents and whatnot) from the Windows 95-ish way to
> the NT-ish way.  That is, rather than being children
> of c:\windows, they'd generally be children of
> c:\documents and settings\.
> 
> Any complaints?

Hmm, shouldn't they be children of /home/ instead?

-- 
Dimi.



Re: fonts: 20 ppem Wine Sans Serif

2004-09-20 Thread Dimitrie O. Paun
On Mon, Sep 20, 2004 at 11:51:24AM +0100, Huw D M Davies wrote:
> Huw Davies <[EMAIL PROTECTED]>
> Add a 20 ppem strike with cp1252 coverage to Wine Sans Serif.
> Add U+201a to all strikes.

Huw,

What's the current status for fonts. I think they deserve a section
under the UI Status:
http://www.winehq.org/site/status_ui

What do we have currently, in what state, what's left to do?

-- 
Dimi.




Re: MSCMS: new dll

2004-09-20 Thread Dimitrie O. Paun
On Mon, Sep 20, 2004 at 09:44:51AM +0100, Mike Hearn wrote:
> If it weren't for Alexandres dislike of binaries in CVS I'd have asked 
> for it to be put in there already seeing as the number of people who 
> have it installed is roughly zero. Currently we just say "download it 
> from the website" but unfortunately it seems most packagers are not 
> aware of its presence and do not include it. Ditto for the other 
> binaries Wine can use but aren't included in the source tree 
> (stdole32.tlb, fonts, etc)

We should have a binary package on our SF site. 
What do we need in there? I would guess:
- Mozilla Active X
- fonts

What else?

-- 
Dimi.



Re: MSCMS: new dll

2004-09-20 Thread Dimitrie O. Paun
On Mon, Sep 20, 2004 at 03:53:27PM +0100, Mike Hearn wrote:
> In theory then binary packagers would include them in their packages. In 
> practice quite a lot of users either install Wine from the source, or 
> use packages built by people who don't track Wine development (*cough* 
> gentoo *cough*) so this wouldn't solve the problem for a lot of people.

A 'lot' is a bit of an exageration. It seems our binary packages are
quite popular, please check the download stats (apprently they have been
fixed as of late on SF :)). So getting our packagers to include them
would be a great step forward. Also, providing a separate package for
the folks that insist to build from source (under Support Files), would
solve the problem for most of the other users.

> >What do we need in there? I would guess:
> > - Mozilla Active X
> > - fonts
> 
> A stdole32.tlb, the program Huw posted can be used to generate it (on 
> Windows) and it only has to be done once. Of course hopefully at some 
> point that will be moving into the build system. Until it does, we can 
> stick it in there.

Cool, all of this should work just fine. Now we need to get someone
to maintain this package...

-- 
Dimi.



Re: Contributing to WINE

2004-09-22 Thread Dimitrie O. Paun
Ronald,

It's good to hear from you guys. Regarding your contribution
to Wine, we conduct our business in public, on this list,
like most Open Source projects. It's best to post any issues
on [EMAIL PROTECTED], and patches that you'd like to see 
in the official tree to [EMAIL PROTECTED]

Feel free to ask questions about the process of getting your
contributions into the tree. We'll be glad to answer.

One more thing: it's best if you can post plain text messages
to the mailing list. Not HTML, or any other strange formats.
Your message for example was in a weird format that's not
supported by my mail program, and it caused me no end of grief.

Regards,
Dimi.




Re: [4/5] GetWindowLongPtr: Windows

2004-09-23 Thread Dimitrie O. Paun
On Thu, Sep 23, 2004 at 01:37:32PM +0100, Robert Shearman wrote:
> I did replace some GetWindowLongA calls with GetWindowLongPtrW, but 
> there is really no difference between the two A and W versions in terms 
> of performance anyway.

Yes, but we should use the W version in preference to the A one as a
matter of principle. This way, a simple syntactic check can tell us
that we don't have W->A transitions. Otherwise, we have to do semantic
checks all the time, and that's just not fun :)

-- 
Dimi.



Re: Fix for bug 824 - proper handling of REG_MULTI_SZ

2004-10-12 Thread Dimitrie O. Paun
>  * - the modification time optionally follows the key name
> - * - REG_EXPAND_SZ and REG_MULTI_SZ are saved as strings instead of hex
> + * - REG_EXPAND_SZ are saved as strings instead of hex
> + * - REG_MULTI_SZ are saved hex (as of 10/10/04 -- see Bug 824)
>  */


Well, I don't know if the fix is correct, but if it is,
just remove the comment instead of saying it's fixed,
otherwise we risk cluttering the real issues to the point
where they are useless.

-- 
Dimi.



Re: nonclient.c and sysmetrics.c

2004-10-12 Thread Dimitrie O. Paun
On Tue, Oct 12, 2004 at 09:12:09AM -0700, William Poetra Yoga Hadisoesen wrote:
> 
> Should I post those two files here (the diffs)? Or does anyone have a comment?

If you have made a change that fixes the problem, please go ahead
and post the diffs here, by all means.

-- 
Dimi.




Re: [WineHQ] s/Forums/Mailing Lists/

2004-10-12 Thread Dimitrie O. Paun
On Tue, Oct 12, 2004 at 04:18:14PM -0500, Jeremy Newman wrote:
> I committed this, but when you go to the page it calls itself Forums
> still. My instinct was to s/Forums/Mailing Lists/g on forums.template.
> But I held off to see if anyone had a better idea on how to layout this
> page. As it stands right now, it does not make sense.

I think "Forums" is the right term for what is on that page.
It's just that in 99.99% of cases, people simply look for Mailing Lists,
and so havin a Mailing Lists link is more useful most of the time.
I think we can live with this small inconsistency. The cure seems to
be worse than the dissease...

-- 
Dimi.



Re: nonclient.c and sysmetrics.c

2004-10-13 Thread Dimitrie O. Paun
On Wed, Oct 13, 2004 at 09:57:49AM -0700, William Poetra Yoga Hadisoesen wrote:
> And, I forgot to attach the diff. It's attached now.

The patch is rather large. Please try to keep a bug/fix per patch
(keeping in mind that each patch should be sandalone, that is, after
applying it, the tree should build and work just fine).

Also, please remove the "FIXED" comments, they clutter the code.
FIXME comments are different, they serve as a reminder of what
need to be done, we can't have reminders of all things we did well :)

-- 
Dimi.




Re: -fPIC on link line in winegcc for HPUX

2004-10-13 Thread Dimitrie O. Paun
On Tue, Oct 12, 2004 at 10:42:37AM -0400, Warren_Baird/[EMAIL PROTECTED] wrote:
> The question:  is this going to be harmful on other platforms?   I'm not 
> sure whether I should protect it with ifdefs, or just leave it as is.

I think it should be fine: the gcc driver should be able to filter it out
if it's not relevant.

-- 
Dimi.



RFH: winuser.h

2004-10-14 Thread Dimitrie O. Paun
Can someone please help me with the value of LBS_COMBOBOX?

TIA,
Dimi.



Re: Rename Wine User Guide to Wine User's Guide?

2004-10-14 Thread Dimitrie O. Paun
On Thu, Oct 14, 2004 at 04:22:10PM +0100, Peter Riocreux wrote:
> I have always operated on the principle that if two people can argue
> about it then it should be written a different way, so how about one of:
> 
> Guide for Wine Users
> Guide to Using Wine
> Wine: a guide for Users
> Using Wine

Hmmm, they sound/look awkward.
We have a Developer's Guide, let's just be consistent.
And I think this is typical naming anyway, so let's
just call it User's Guide and be done with it.

-- 
Dimi.



Re: [PATCH] DrawDibDraw flag handling

2004-10-14 Thread Dimitrie O. Paun
On Thu, Oct 14, 2004 at 05:21:41PM +0200, Andreas Mohr wrote:
> Hi,
> 
> On Thu, Oct 14, 2004 at 03:53:41PM +0100, Peter Riocreux wrote:
> >  if (!(wFlags & DDF_DONTDRAW) && whdd->hpal)
> > -SelectPalette(hdc, whdd->hpal, FALSE);
> > +  if ((wFlags & DDF_BACKGROUNDPAL) && ! (wFlags & DDF_SAME_HDC))
> > +   SelectPalette(hdc, whdd->hpal, TRUE);
> > +  else
> > +   SelectPalette(hdc, whdd->hpal, FALSE);
> This is rather non-obvious if handling, I'm surprised that the compiler
> doesn't warn about it, or does it?
> 
> Could you add proper braces there?

Better yet, what about we just do:
+   SelectPalette(hdc, whdd->hpal, (wFlags & DDF_BACKGROUNDPAL) && ! 
(wFlags & DDF_SAME_HDC));

-- 
Dimi.



Re: Rename Wine User Guide to Wine User's Guide?

2004-10-14 Thread Dimitrie O. Paun
On Thu, Oct 14, 2004 at 09:18:23AM -0700, Kenneth Porter wrote:
> --On Thursday, October 14, 2004 11:00 AM -0400 Kuba Ober 
> <[EMAIL PROTECTED]> wrote:
> 
> >Actually, the apostrophe looks quite right there. Whose guide is it? The
> >user's. Then one has user's guide, not user guide.
> 
> Would it not be "Users' Guide"? A guide for *all* users? (Plural)

No, we have Developer's Guide. Because we're addressing the book
to *the* person reading it. In fact, you seem to have found the
answer:

> OTOH, I just plugged "users guide" into Amazon and the results on the first 
> page are all "User's Guide" (singular).

:) So let's stick to User's Guide. It's the norm.

-- 
Dimi.



Re: -fPIC on link line in winegcc for HPUX

2004-10-14 Thread Dimitrie O. Paun
On Thu, Oct 14, 2004 at 09:03:53PM -0700, Alexandre Julliard wrote:
> Actually it could be argued that winegcc should add -fPIC itself if
> it's needed for linking, users shouldn't have to worry about that.

Absolutely, the user shouldn't need to provide anything. It would
be silly to have some internal winegcc computation/compilation fail
because the user did not provide some flags.

In fact, I also had in mind the same thing, but I forgot the patch
did not do that. As I was saying, I think we can just always provide
it during link, gcc should be able to deal with it on all platforms.

-- 
Dimi.



Re: [janitor] tools -Wwrite-strings cleanup

2004-10-15 Thread Dimitrie O. Paun
On Fri, Oct 15, 2004 at 06:43:31PM +0200, Daniel Marmier wrote:
> If such a risk exists, the latter change implies that we will silently free
> the copy of the data instead of trying to free the static data. This could
> lead to consider a simple test passed, while causing random results in
> more complex code that still references the data ...

No, nobody will access the data, just the copy is made public.

-- 
Dimi.



Re: Progress Bar: Fix Class Style & Repainting (resend2)

2004-09-28 Thread Dimitrie O. Paun
On Tue, Sep 28, 2004 at 12:12:09PM -0700, Alexandre Julliard wrote:
> Robert Shearman <[EMAIL PROTECTED]> writes:
> 
> > Changelog:
> > - Fix class style to include the hbrBackground member.
> > - Fix repainting issues introduced by this change.
> > - Add WM_ERASEBKGND handler and remove background drawing code from
> > the WM_PAINT handler.
> 
> Isn't that going to cause a lot of flicker?  This was the reason for
> the existing code, because otherwise it looks really bad with apps
> that update the progress bar a lot.

Indeed, IIRC I've tried to have as optimum background drawing code
as possible (in terms of overwriting areas, etc), as flicker in the
progress bar would look rather ugly.

We have to be careful with these sort of changes, in that there are
some controls that work real hard to avoid flicker as much as possible.
Yes, the code is bigger, more complicated, and maybe sometimes not
100% the way MS does it. But if it doesn't cause any problems, having
a good looking control is important IMO.

-- 
Dimi.





Re: Tab control update

2004-10-01 Thread Dimitrie O. Paun
On Fri, Oct 01, 2004 at 07:58:23AM -0700, Jon Griffiths wrote:
> Hi,
> 
> A fairly large update to the tab control. This makes it work as per
> native in my app.

Nice. While you're at it (and have it fresh in your mind), can you
please also provide an audit (and a list of TODOs) as per comctl 6.0?

We're getting closer to having a full audit of the controls, and this
one has not been audited:
http://winehq.org/site/status_ui

TIA,
Dimi.



Re: Audit the buttons code

2004-10-04 Thread Dimitrie O. Paun
On Mon, Oct 04, 2004 at 10:39:24PM +0900, Dmitry Timoshkov wrote:
> I can't believe that a simple win32 program linked against user32 only
> under XP starts to depend on comctl32 as well. user32 in XP can't depend
> on comctl32 too. "Button", "listbox", "combobox" and others were always
> a part of user32, moving them into comctl32 would break a lot of apps.
> Perhaps comctl32 simply subclasses standard user32 controls and adds
> "skinning" for them?

I think they just made a copy into comctl32, but this is more of a gut
feel than anything else :) Anyway, MS now documents the standard controls
together with the common ones (which makes sense, logically they belong
together, they are all controls after all), so my comment is OK for its 
purpose (which is to correctly identify the piece of documentation that
the audit was against).

-- 
Dimi.




Re: Audit the buttons code

2004-10-04 Thread Dimitrie O. Paun
On Mon, Oct 04, 2004 at 10:58:14PM +0900, Dmitry Timoshkov wrote:
> No, your comment is not OK. 

Actually, it is. Check out the URL for the button docs:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/buttons/buttons.asp

See? Button is under commctls.

> I bet it's still in user32.

You're on. And I win:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/userex/comctrl6.asp

Again, now MS documents all controls together, please check out the
on line MSDN.

-- 
Dimi.




Re: Audit the buttons code

2004-10-04 Thread Dimitrie O. Paun
On Tue, Oct 05, 2004 at 09:19:10AM +0900, Dmitry Timoshkov wrote:
> "Dimitrie O. Paun" <[EMAIL PROTECTED]> wrote:
> 
> > Again, now MS documents all controls together, please check out the
> > on line MSDN.
> 
> How could that matter where MS does document things? That fact changes
> nothing in the actual control functionality or DLL ownership.

Oh come on,
I've explained that already: the comment's purpose is to identify
the *documentation* that the code has been audited against. Which
is the commctl 6.0 documentation. This is where MS says the standard
controls reside in XP, what's the problem?

-- 
Dimi.



Re: Audit the buttons code

2004-10-05 Thread Dimitrie O. Paun
On Tue, Oct 05, 2004 at 08:18:50AM +0200, Shachar Shemesh wrote:
> Such comments do suffer from another problem. They tend to fall out of 
> date. For that reason alone I'm not sure this comment is a good idea. 
> Otherwise, we get a future commit that changes something, but neglects 
> to update the comment accordingly, and the comment turns useless or even 
> dangerous. Maybe if we change that to contain the date or the CVS 
> version number of the file that was audited

This is not a problem for these comments because:
  -- each control is implemented in one, and only one file
  -- each control has it's own independent audit
  -- the comment is at the top of the file, where it's most visible
  -- from the previous 3 points, it's very difficult to work on
 any control without stumbling upon it.
  -- it includes the exact version of the documentation, so when new
 documentation is released, we can compute the delta
  -- it includes the exact date when the audit took place, so we
 can compute deltas on the control side
  -- they are not open ended. That is, they list all the missing features,
 and such, if people forget to update them, 99% of the time this simply
 means they forgot to *delete* something. This is much less of a problem
 then not adding. It can easily get fixed when someone does a new audit,
 or wants to reimplement that feature.
  -- we had them for more then 2 years now, and there wasn't a single instance
 when people forgot to update them. Which means that the theory detailed
 this far actually works in practice.
  -- I've been closely watching patches againt controls myself (along with a
 few other people, it seems), so we have a pretty good safety net.

-- 
Dimi.



Re: Audit the buttons code

2004-10-05 Thread Dimitrie O. Paun
On Tue, Oct 05, 2004 at 07:32:18PM +0900, Dmitry Timoshkov wrote:
> I didn't oppose a comment itself, I don't like that it confuses people
> by mentioning comctl32. That's simply not true.

Dmitry, please stop repeating misinformation. Go read the MSDN, I've
provided you with the relevant URLs. Here is the situation:
  -- in XP, there are *two* implementations of the standard controls:
 the old one in user32, and a strict superset, in comctl32.
 Applications can ask for the one in comctl32 by specifying so
 in their manifest file. This is done so that applications continue
 to run on older versions of Windows.
  -- since we don't have the same constrains as MS, and since we can't
 afford to maintain two versions of the standard controls, we are
 just going to extend the ones from user32 to the full capability
 of the ones in comctl32 ver. 6. As such, it make sense to audit them
 against the comctl32 ver. 6 documentation.

In other words, the comment is right on the money.

-- 
Dimi.




Re: Audit the buttons code

2004-10-05 Thread Dimitrie O. Paun
On Tue, Oct 05, 2004 at 02:59:35PM +0100, Robert Shearman wrote:
> How do you plan on using image lists from user32? How will you make sure 
> that the version 6 behaviour doesn't break older programs? It's these 
> questions that made Microsoft move the controls to comctl32. Will we get 
> ourselves into a bigger mess by not having two separate implementations?

I don't dispute that our current approach is not perfect. You are right,
there may be some problems with it, and in the long term, we may have to
duplicate them. However, doing so mow would imply a lot of work, and as you
can see, we're way short of manpower. From what I've seen, we can safely
implement most of the XP functionality into the user32 without risking of
breaking stuff. That is to say, I don't see right now a big need to dupicate
the controls. Let's cross that bridge when we get there.

-- 
Dimi.




Re: kind of newbie question :)

2004-10-06 Thread Dimitrie O. Paun
On Wed, Oct 06, 2004 at 07:40:49AM +, Carlo Bono wrote:
> configure script! wine version is 14/9/2004 and was compiled from
> source on slackware 10.0 running on a via C3 (intel x86 100%
> compatibile). is there any suggestion or workaround, or maybe this is
> normal, or maybe then i'm forgetti something really stupid? (maybe not
> so stupid, don't think it makes a difference :D)

Yes, winemaker no longer generates a configure script. It just
generates a Makefile, which you may need to hand edit a bit.
Then just type 'make' :)

-- 
Dimi.



Re: Problem using winelib

2004-10-18 Thread Dimitrie O. Paun
On Mon, Oct 18, 2004 at 03:25:12AM -0400, Ross Quinlan wrote:
> This generates one new file, "Makefile" (no Makefile.in, configure)
> so I can't run ./configure --with-wine etc.

Yeap, that's expected. Docu needs updating.

> If I try a simple make, here's the result:
> 
> E> make all
> winebuild -o winemine2.exe.dbg.c --debug -C. dialog.c main.c 
> winegcc -c  -mno-cygwin -I.   -o winemine2.exe.dbg.o winemine2.exe.dbg.c
> winegcc -c  -mno-cygwin -I.   -o dialog.o dialog.c
> winegcc -c  -mno-cygwin -I.   -o main.o main.c
> wrc   -I.   -foDe.res De.rc
> De.rc:22:21: Error: parse error
> make: *** [De.res] Error 1

You need to hand-edit a bit the generated Makefile. In this case,
you have to remove all the language ,rc files (Xx.rc) from there,
since these are included by the main .rc file.

-- 
Dimi.



Re: wine/dlls/ntdll time.c

2004-10-18 Thread Dimitrie O. Paun
On Mon, Oct 18, 2004 at 04:19:29PM -0500, Alexandre Julliard wrote:
> Log message:
>   Rein Klazes <[EMAIL PROTECTED]>
>   In RtlQueryTimezoneInformation use information from the registry if it
>   is available.
> 
> Patch: http://cvs.winehq.org/patch.py?id=14188

Hmm, shouldn't we synch up with the Unix env instead?
I assume this info is available in the Unix env...
This would be preferable even in the case of a shared
Windows install, me thinks.

-- 
Dimi.



Re: Cleanup config

2004-10-21 Thread Dimitrie O. Paun
On Thu, Oct 21, 2004 at 03:37:37PM -0700, Alexandre Julliard wrote:
> This is OK except for the windows dir, that one is still being used by
> the registry code.

Heh, that's not nice, now we define it in two places. I can't quite
find where it's been used, do you remember the filename?

-- 
Dimi.




Re: Fix for bug 824 - proper handling of REG_MULTI_SZ

2004-10-22 Thread Dimitrie O. Paun
On Mon, Oct 18, 2004 at 05:29:29PM -0700, Alexandre Julliard wrote:
> Do you actually have an app that depends on this?  I agree that in
> theory we should preserve the data exactly, but this means giving up
> on an easily editable registry format, so it should be done only if
> something really needs it.

What about supporting regular C escaping rules? It would be pretty
consistent with the file format, and frankly I'd expect that to
be supported (speaking as a Unix user). As for processing overhead,
I'd be surprised if it shows on the radar.

-- 
Dimi.



Re: Fix for bug 824 - proper handling of REG_MULTI_SZ

2004-10-22 Thread Dimitrie O. Paun
On Fri, Oct 22, 2004 at 02:59:45PM -0700, Alexandre Julliard wrote:
> 
> It's pretty much supported already. This doesn't really solve the
> problem of getting rid of the terminating null (except if you want to
> require always specifying the null explicitly, but that's not
> backwards compatible).

I must be missing something, but I thought regular strings can not
contain embedded nulls, so we can have a simple rule: don't store
terminating nulls for simple strings, but store them for multi-strings.

Aha -- you mean that if we follow this rule, all is good, but we
will not be backwards compatible because currently multi-strings
don't have the embedded nulls, right?

In that case, I guess we already have a versioning mechanism for
the registry files, so we'll just have to go to the next version,
and convert the old files to the new format.

-- 
Dimi.



Re: The wine user guide: an idea

2004-10-23 Thread Dimitrie O. Paun
On Sat, Oct 23, 2004 at 09:00:40PM -0700, Scott Ritchie wrote:
> Thanks for you comment.  I've taken up the task of rewriting alot of the
> User Guide at the moment, and revising the Using Wine section may be the
> most important next step after the rewrite of the Intro.

Please coordinate with Brian Vincent ([EMAIL PROTECTED]),
he already did a lot of work on the User's Guide, and he's waiting
for some changes in the codebase to merge. It would be a pitty if
work would be needlessly duplicated. IIRC, the mostly work on redoing
the Configuring Wine section.

-- 
Dimi.



Re: Functions For Helping FillRect

2004-10-24 Thread Dimitrie O. Paun
On Sun, Oct 24, 2004 at 02:20:53AM -0700, William Poetra Yoga H wrote:
> FillRect is used in many places for drawing the GUI. But one thing I think many
> developers miss is that it doesn't fill the right and bottom borders of the
> rectangle, very much like LineTo doesn't draw the destination point (as per the
> MSDN docs).

This is OK, the rect functions are consistent with the rest of the GUI functions
(I would also add that not including the right and bottom borders is a good thing,
but let's not debate that). Anyway, even if the standard APIs were awkward, in
Wine we insist on using the standard stuff as much as possible, it's the best
we can do long term. For many reasons. So no, adding such helper functions will
not fly.

-- 
Dimi.



Re: wine/dlls/user button.c

2004-10-25 Thread Dimitrie O. Paun
On Mon, Oct 25, 2004 at 05:38:01PM +0900, Mike McCormack wrote:
> 
> Hi Dimi,
> 
> The following hunk of the patch below breaks the IE install.  You should 
> be able to press Alt-A to accept the license in the first dialog, but 
> with this hunk applied it no longer works.

Thank you, I'll submit a patch later on tonight. It seems the MSDN is
wrong (oh, the horror!), so I'd guess a test would be nice as well.

-- 
Dimi.



  1   2   3   4   5   6   7   8   9   10   >