Re: *** GMX Spamverdacht *** MSYS touch.exe timestamp resolution issue on Wine-1.6

2013-10-14 Thread Thorsten Kani

Am 12.10.2013 23:28, schrieb Alan W. Irwin:

Under MSYS bash.exe if I use the touch command I only get 1-second
resolution when reading the results.

bash.exe-3.1$ touch touch1.test touch2.test
bash.exe-3.1$ ls --full-time touch*.test
-rw-r--r-- 1 wine 544 0 2013-10-12 13:57:58.0 -0700 touch1.test
-rw-r--r-- 1 wine 544 0 2013-10-12 13:57:58.0 -0700 touch2.test

Would somebody be willing to make the above test for MSYS on
the Microsoft version of Windows (which I don't have access to) to see
if time stamps  are being read with 1-second resolution as above. That 
test

should help distinguish whether this is a Wine issue or else an MSYS
issue.

I have also done some tests with the MSYS find.exe and make.exe
commands, and in all cases touch2.test is not newer than touch1.text.
This can be an important issue for the make command where one-second
time resolution can potentially screw up file dependencies.

If I use the equivalent Linux ls (and find and make) commands to read the
time stamps on the above files, then touch2.test is newer than 
touch1.text,

e.g.,

wine@raven ls --full-time touch*.test
-rw-r--r-- 1 wine wine 0 2013-10-12 13:57:58.39100 -0700 touch1.test
-rw-r--r-- 1 wine wine 0 2013-10-12 13:57:58.40800 -0700 touch2.test

So I think this implies the MSYS touch.exe command is writing
high-resolution (i.e., millisecond) time stamps, and it is only
reading that high-resolution time stamp that seems to be an
issue for MSYS on Wine.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and 
Astronomy,

University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
_



Sure -- seems to be a MSYS issue though:

root@me ~
$ touch touch1 touch2

root@me ~
$ ls --full-time touch*
-rw-r--r-- 1 root Administratoren 0 2013-10-13 13:33:47.0 + 
touch1
-rw-r--r-- 1 root Administratoren 0 2013-10-13 13:33:47.0 + 
touch2


root@me ~
$ uname
MINGW32_NT-6.1

root@me ~
$

Have a nice Day !
Thorsten




Re: Small Direct3D milestone . Thank you - Wine team!

2007-05-11 Thread Thorsten Kani
Fascinating work -  please continue it! 

Please note that i am exited from Wine as a whole - without people doing 
the 'unsexy' jobs (eg: COM Work...),

Wine would never be succesful.  ;)

so long,
Thorsten






Stefan Dösinger schrieb:

Hi!

With Wine 0.9.37 we've archieved something that I allow myself to call a small 
milestone - All Direct3D7 Immediate mode SDK demos successfully perform their 
intended rendering. I have some screenshots on my university junk server:


http://stud4.tuwien.ac.at/~e0526822/sdkdemos1.png
http://stud4.tuwien.ac.at/~e0526822/sdkdemos2.png

Two major problems are left though, namely windowed opengl rendering(see the 
junk where a menu bar should be) and GetDC(there should be a little bit of 
text rendered, I disabled render target locking to get proper performance).


Some demos have a few smaller problems too. The bump earth and bump waves need 
vendor specific extensions(GL_NV_texture_shader2 / GL_ATI_envmap_bumpmap) and 
the bend demo needs GL_ARB_vertex_blend which nvidia does not support. So I 
took that screenshot on my mac running linux(ati radeon X1600. The mipmap 
demo renders the mipmaped texture garbled, although this works on nvidia 
cards. The Z buffer demo says w buffers aren't supported, but the normal z 
buffer does what the w buffer is supposed to do.


What does that mean for gamers? Nothing fancy really, the features used by 
games are implemented since a long time, the ones that used to miss(fixed 
function bump mapping, vertex blending) aren't really important for games. 
Other DirectDraw features like Overlays aren't implemented either, but we are 
Direct3D 7 feature complete.


Where to go from here? I am currently fixing the DirectDraw rewrite 
regressions I can get hold of, and I am trying to make D3D thread safe 
finally. From the application point of view my focus will stay on fixing 
older apps first, which somewhat includes getting thread safety, render 
target locking and GetDC working properly. My hope is also to fix the other 
related DX7 sdk demos, like the DDraw demos(except overlays, they are highly 
tricky with the current wined3d-x11drv integration) and getting native 
d3drm.dll working.


I also want to say thanks to all the small and big helpers who help with 
technical advise, debugging and regression testing. Special thanks goes to 
Henri without whom I'd be totally lost and who has to be credited for a huge 
majority of the shader work in the last half year, and a lot of other things 
too.


Thanks and continue the good work :-)
Stefan

PS: As for the screenshots, my space on that server is limited, so they will 
be gone sooner or later. I didn't want to send huge screenshots as 
attachments, not even as jpgs.



  






Re: Listview notify_dispinfoT Messageformat

2004-11-01 Thread Thorsten Kani
I asked the List about the Problem and how to solve it correctly.
Please excuse my bad English (:  - will try your patch asap.
Tho
Why are you saying that. The code treats LVN_GETDISPINFOW special
because it's the only type of message that *gets* textual data
rather then sending. SO for this reason, we just reset the buffer
on the way out. What other difference is there?
 

This leads to problems with Braindamaged_Apps(TM) wich handle only the 
Unicode Message.  (Tested App was Explorer)
   

Heh. Right now we only send ASCII notifications, which would be
even worse. We need proper test cases.
 




Re: Listview notify_dispinfoT Messageformat

2004-10-31 Thread Thorsten Kani

Oh, come on, it was just a few more lines of code. In fact, I was happy
with the code as it standed (that's no surprise, as I wrote it :)).
I think we should just revert to it, and accept changes only with
supporting tests. At the time that Aric submitted the patch, I was
rather unhappy with it, but he claimed he performed extensive tests
that proved that behaviour. He should have submitted them as part
of the test suite.
 

As i understand it,  the old Listview code was assuming that 
LVN_GETDISPINFOW  is  never  used and tried to convince apps with the 
A version of the Message..
This leads to problems with Braindamaged_Apps(TM) wich handle only the 
Unicode Message.
(Tested App was Explorer)




Re: Listview notify_dispinfoT Messageformat

2004-10-28 Thread Thorsten Kani
Testing out your more general solution introduced no Problems with the 
Listview on my Testsystem.
If the Patch gets applied, i will modify the callers of notify_dispinfo 
to respect that isW isnt longer used.  

Tho
Robert Shearman wrote:
Thorsten Kani wrote:
Hello,
Testing showed that the current implementation of notify_dispinfoT 
doesnt work with W2K. (or at least not with SP4 (:   )
The attached patch corrects that our Listview doesnt display anything 
on native.

Following assumption proved to be wrong for the Message 
LVN_GETDISPINFOW:
/*
With testing on Windows 2000 it looks like the notify format
has nothing to do with this message. It ALWAYS seems to be
in ansi format. */

This time, only LVN_*ETDISPINFOW is patched, anything else is untouched.
-Anybody please tell me if you see problems with this Fix since i 
dont want to break things.-

I have seen exactly the same problem with the IShellView 
implementation in native shell32. I have attached the patch I did at 
the time. I didn't submit it, because I soon got into a tangled mess 
where the function name was wrong and the isW parameter completely 
unnecessary and a whole bunch of functions calling it were also wrong.

To summarise: *all* common control notifications should be sent in the 
same format (ANSI/Unicode) as their parent (except if overriden by the 
CCS_SETUNICODEFORMAT message). It should not be based on the message 
sent to the control.

Rob

Index: listview.c
===
RCS file: /home/wine/wine/dlls/comctl32/listview.c,v
retrieving revision 1.394
diff -u -p -r1.394 listview.c
--- listview.c  2 Sep 2004 23:00:53 -   1.394
+++ listview.c  27 Oct 2004 20:16:51 -
@@ -818,10 +818,6 @@ static int get_ansi_notification(INT uni
}
/*
-  With testing on Windows 2000 it looks like the notify format
-  has nothing to do with this message. It ALWAYS seems to be
-  in ansi format.
-
  infoPtr : listview struct
  notificationCode : *Unicode* notification code
  pdi : dispinfo structure (can be unicode or ansi)
@@ -830,14 +826,10 @@ static int get_ansi_notification(INT uni
static BOOL notify_dispinfoT(LISTVIEW_INFO *infoPtr, INT notificationCode, 
LPNMLVDISPINFOW pdi, BOOL isW)
{
BOOL bResult = FALSE;
-BOOL convertToAnsi = FALSE;
INT cchTempBufMax = 0, savCchTextMax = 0;
LPWSTR pszTempBuf = NULL, savPszText = NULL;
-if ((pdi-item.mask  LVIF_TEXT)  is_textT(pdi-item.pszText, isW))
-   convertToAnsi = isW;
-
-if (convertToAnsi)
+if ((pdi-item.mask  LVIF_TEXT)  (infoPtr-notifyFormat == NFR_ANSI))
{
if (notificationCode != LVN_GETDISPINFOW)
{
@@ -861,15 +853,16 @@ static BOOL notify_dispinfoT(LISTVIEW_IN
savPszText = pdi-item.pszText;
pdi-item.pszText = pszTempBuf;
pdi-item.cchTextMax = cchTempBufMax;
+
+notificationCode = get_ansi_notification(notificationCode);
}
TRACE( pdi-item=%s\n, debuglvitem_t(pdi-item, infoPtr-notifyFormat !=
   NFR_ANSI));
-bResult = notify_hdr(infoPtr, get_ansi_notification(notificationCode),
-(LPNMHDR)pdi);
+bResult = notify_hdr(infoPtr, notificationCode, pdi-hdr);
-if (convertToAnsi)
+if ((pdi-item.mask  LVIF_TEXT)  (infoPtr-notifyFormat == NFR_ANSI))
{
MultiByteToWideChar(CP_ACP, 0, (LPSTR) pdi-item.pszText, -1,
savPszText, savCchTextMax);
 




Listview notify_dispinfoT Messageformat

2004-10-27 Thread Thorsten Kani
Hello,
Testing showed that the current implementation of notify_dispinfoT 
doesnt work with W2K. (or at least not with SP4 (:   )
The attached patch corrects that our Listview doesnt display anything on 
native.

Following assumption proved to be wrong for the Message LVN_GETDISPINFOW:
/*
With testing on Windows 2000 it looks like the notify format
has nothing to do with this message. It ALWAYS seems to be
in ansi format. */
This time, only LVN_*ETDISPINFOW is patched, anything else is untouched.
-Anybody please tell me if you see problems with this Fix since i dont 
want to break things.-

Tho
Index: listview.c
===
RCS file: /home/wine/wine/dlls/comctl32/listview.c,v
retrieving revision 1.394
diff -u -r1.394 listview.c
--- listview.c	2 Sep 2004 23:00:53 -	1.394
+++ listview.c	27 Oct 2004 17:22:39 -
@@ -807,8 +807,6 @@
 {
 case LVN_BEGINLABELEDITW: return LVN_BEGINLABELEDITA;
 case LVN_ENDLABELEDITW: return LVN_ENDLABELEDITA;
-case LVN_GETDISPINFOW: return LVN_GETDISPINFOA;
-case LVN_SETDISPINFOW: return LVN_SETDISPINFOA;
 case LVN_ODFINDITEMW: return LVN_ODFINDITEMA;
 case LVN_GETINFOTIPW: return LVN_GETINFOTIPA;
 }
@@ -834,21 +832,20 @@
 INT cchTempBufMax = 0, savCchTextMax = 0;
 LPWSTR pszTempBuf = NULL, savPszText = NULL;
 
+if  ((notificationCode = LVN_GETDISPINFOW)||(notificationCode = LVN_SETDISPINFOW))
+{
+	bResult = notify_hdr(infoPtr, notificationCode,
+(LPNMHDR)pdi);
+return bResult;
+}
+
 if ((pdi-item.mask  LVIF_TEXT)  is_textT(pdi-item.pszText, isW))
 	convertToAnsi = isW;
 
 if (convertToAnsi)
-{
-	if (notificationCode != LVN_GETDISPINFOW)
-	{
-cchTempBufMax = WideCharToMultiByte(CP_ACP, 0, pdi-item.pszText,
--1, NULL, 0, NULL, NULL);
-}
-	else
-	{
-	cchTempBufMax = pdi-item.cchTextMax;
-	*pdi-item.pszText = 0; /* make sure we don't process garbage */
-	}
+{	  
+	cchTempBufMax = WideCharToMultiByte(CP_ACP, 0, pdi-item.pszText,
+-1, NULL, 0, NULL, NULL);	
 
 pszTempBuf = HeapAlloc(GetProcessHeap(), 0, sizeof(CHAR) *
cchTempBufMax);
@@ -3621,7 +3618,7 @@
 if (uStateImage)
 	{
 	 TRACE(uStateImage=%d\n, uStateImage);
-	 ImageList_Draw(infoPtr-himlState, uStateImage - 1, hdc, rcState.left, rcState.top, ILD_NORMAL);
+	 ImageList_Draw(infoPtr-himlState, uStateImage - 1, hdc, rcState.left, rcState.top, ILD_TRANSPARENT);
 	}
 }
 
@@ -3631,7 +3628,7 @@
 {
 	TRACE(iImage=%d\n, lvItem.iImage);
 	ImageList_Draw(himl, lvItem.iImage, hdc, rcIcon.left, rcIcon.top,
-			(lvItem.state  LVIS_SELECTED)  (infoPtr-bFocus) ? ILD_SELECTED : ILD_NORMAL);
+			(lvItem.state  LVIS_SELECTED)  (infoPtr-bFocus) ? ILD_SELECTED|ILD_TRANSPARENT : ILD_TRANSPARENT);
 }
 
 /* Don't bother painting item being edited */


Toolbar control Messages causing WM_PAINT

2004-10-21 Thread Thorsten Kani
I did a quick check of ToolbarMessages that cause WM_PAINT instantly:
TB_CHANGEBITMAP
TB_CHECKBUTTON
TB_DELETEBUTTON
TB_ENABLEBUTTON
TB_INDERTERMINATE
TB_MARKBUTTON
TB_PRESSBUTTON
TB_SETBITMAPSIZE
TB_SETBUTTONSIZE
TB_SETBUTTONWIDTH
TB_SETCOLOSCHEME
TB_SETIMAGELIST
TB_SETINDENT
TB_SETINSERTMARK
TB_SETMAXTEXTROWS
TB_SETSTATE
I left some the remaining ToolbarMessages untestet because i did not 
know how to send them correcty with controlspy.

other Messages showing up and caused Paint:
WM_UNKNOWN(128)
WM_CHILDACTIVATE
WM_ERASEBKGND
WM_MOUSELEAVE(borders)
probably this is not everything you need.  (:
 
Tho



Re: Startmenu

2004-10-20 Thread Thorsten Kani
Hmm,
sorry- i meant SM_CYBORDER and SM_CYEDGE. (classical past_1:00am typo)
testing shows that using SM_CYBORDER instead of SM_CYEDGE affects 
appearence only minimal.
if this bug only appears while using it under windows, it shouldnt be 
really important.

Do you agree setting OFFSET_Y to zero is a good compromise in this case ?
Tho
http://dict.leo.org/se?p=/Mn4k.search=tradeoff
Robert Shearman wrote:
Thorsten Kani wrote:
Nice Patch - looks good now!
EDIT:  i have changed the offsets and used SM_C*y*BORDER instead of 
SM_C*y*EDGE.
(According to MSDN, cxedge is used for 3D while cxborder is used for 
Flat )
This seems to fix thedraw below issue. Visual Experience comes now 
really near native.

I noticed that SM_CXEDGE is used everywhere, regardless of Style 
TBSTYLE_FLAT.
Please review my attached Patch. It seems to me that this Stylechecks 
shoud be used everywhere.

I don't think this is correct. If you change the return value for 
GetSystemMetrics(SM_CXEDGE) in wine/windows/sysmetrics.c then you can 
see that it does affect the spacing between border and icon (but our 
toolbar control doesn't exactly match the native for this).

As for String position issue, maybe i can help out with the 
controlspy check.
Im interested in understanding the controls and wanted to play around 
with CSpy anyway.
Suggestions ?

You can download controlspy here:
http://www.microsoft.com/msj/0798/controlspy.aspx
It is very useful for throwing messages at the common controls, but it 
cannot test custom draw functionality and it is becoming dated (it is 
missing new functionality from comctl32 v5.80 and new controls).

Rob




Re: Startmenu

2004-10-19 Thread Thorsten Kani
...now with screenshots included.
Hi,
I took a look at the Startmenu. It does its job except for the 
following minor problems:

-Keyboard input is completely ignored
-Icon Backgrounds are white instead of grey
-All the Icons were drawn a few pixels below where they belong, wich 
makes them a bit overdrawn by the Icon below.
-The Strings above the seperator were drawn next to the* *_left_ 
border wich makes them partially overdrawn by the Buttons Icon.

Tho
inline: menu.pnginline: menu_orig.png

Startmenu

2004-10-18 Thread Thorsten Kani
Hi,
I took a look at the Startmenu. It does its job except for the following 
minor problems:

-Keyboard input is completely ignored
-Icon Backgrounds are white instead of grey
-All the Icons were drawn a few pixels below where they belong, wich 
makes them a bit overdrawn by the Icon below.
-The Strings above the seperator were drawn next to the right border 
wich makes them partially overdrawn by the Buttons Icon.
(Strings and Buttons beyond the seperator are drawn right)

If the mouse hovers over the button, the text redraws at the right place
Tho


Re: fix tbn_deletingbutton

2004-10-17 Thread Thorsten Kani
revised the patch following your comments.
please let me know if you see anything left to do before it can be applied.
Thorsten
Index: toolbar.c
===
RCS file: /home/wine/wine/dlls/comctl32/toolbar.c,v
retrieving revision 1.194
diff -r1.194 toolbar.c
3193a3194
 LPWSTR lpText = NULL;
3197a3199,3200
 lpText= TOOLBAR_GetText(infoPtr,infoPtr-buttons[nIndex]);
 
3199a3203,3207
 memcpy(nmtb.tbButton, infoPtr-buttons[nIndex], sizeof(nmtb.tbButton) );
 nmtb.cchText = lstrlenW(lpText);
 nmtb.pszText = lpText;
 nmtb.rcButton = infoPtr-buttons[nIndex].rect;
 


Re: fix tbn_deletingbutton

2004-10-17 Thread Thorsten Kani
First, thank you both for supporting me in this case  (:  
Actually my totally lack of C knowledge is something i have to work on asap.
--
Rob, i have tried your patch and it fixes the problem.
seeing my mistake using TBUTTON_INFO as TBBUTTON makes me realize that i 
wasnt at least too far away from the right track.
By the way, your implementation of ImageList_SetColorTable also works 
fine for me.

I still have one question regarding the relation of  NMTOOLBAR.pszText 
and TBBUTTON.iString:
You did not use nmtoolbar.pszText here. Is it optional, because its 
already in the TBButton struct ?
If yes - what about nmtoolbar.rect then ?

Tho



Re: Stupid thing to try ...

2004-10-14 Thread Thorsten Kani
Lars Segerlund wrote:
I was thinking of a silly thing to try, namely replacing windows dll's with wines, 
does anybody have any thoughts about it ?
I just thought about it as a debugging trick I wanted to try, but I don't know enough 
to evaluate if it's even worth trying.
So what about it, is it worth giving a shot ?
Regards, Lars Segerlund.
 

Hello Lars,
I am currently using the reactos (www.reactos.com) tree to debug 
comctl32.dll under Windows.
For this to work, you will also need the Mingw package and a recent 
gcc/binutil package. (also available from there).

Also make sure to disableWindows File Protection.
I  am using a patched SFC.DLL + a tool called 'Wfpadmin' for the job.
If you have Problems, just mail me and i will try to help out.
Thorsten


Re: Commctl32 Stubs

2004-10-14 Thread Thorsten Kani
Thank you for your comments and for trying to implement the Functions.
They are all very short in asm. I hope the following help:
-MirrorIcon is used by the Windows Taskmanager (clicking File - New Task)
-SetPathwordProc is imported by MSTask,  W2K refuses to load if it can't 
find this Ordinal.

As for the last one, Explorer throwed exception STATUS_ORDINAL_NOT_FOUND
while trying to load shlwapi.dll. It came out that it was trying to 
import Imagelist_SetColortable.
(With this Stub, Explorer and IE works.)

Thorsten
Robert Shearman wrote:
Thorsten Kani wrote:
Added
-SetPathWordBreakProc
-MirrorICON
-ImageList_SetColorTable
This Patch makes MSGina and native Shlwapi happy.
With it, commctl32 can be replaced on Win2k SP4.

Thanks for the patch, but I'd rather get the params correct for the 
stubs. Can you let me know where each function is used?

Changelog:  New Stubs in Commctl32: SetPathWordBreakProc, MirrorICON 
and ImageList_SetColorTable

MirrorIcon is a nop on Wine at the moment. ImageList_SetColorTable is 
trivial with using DIBs internally now. That just leaves 
SetPathWordBreakProc. I believe that should set the word break proc of 
an edit control to one that understands paths. It shouldn't be too 
hard to implement if you leave it with me.

PS: FirstPatchWarning:Be warned (:

Good first patch, but leave it with and I should be able to implement 
these functions for you.

Rob