Hi,
Since I'm new in developing wine please forgive me if I ask a question that is answered earlier (I tried to search an answer for my questions, but I did not found.)
1) Should I report fixme's in bugzilla? (I guess, not, but I'm not sure). 2) I would like to fix some fixme (which I can reproduce), but I don't understand a lot of thins. (I'm new to wine, but not new to C). Could somebody help me to start involved in the development process?
Attila ZIMLER
Hi,
On Tue, Dec 23, 2003 at 06:31:40PM +0000, Zimler Attila wrote:
- I would like to fix some fixme (which I can reproduce), but I don't
understand a lot of thins. (I'm new to wine, but not new to C). Could somebody help me to start involved in the development process?
Please mention several specific FIXMEs that you'd like to work on. That's the best way to help you get started.
Andreas Mohr
Andreas Mohr wrote:
Hi,
On Tue, Dec 23, 2003 at 06:31:40PM +0000, Zimler Attila wrote:
- I would like to fix some fixme (which I can reproduce), but I don't
understand a lot of thins. (I'm new to wine, but not new to C). Could somebody help me to start involved in the development process?
Please mention several specific FIXMEs that you'd like to work on. That's the best way to help you get started.
Andreas Mohr
Hi, In first run I can reproduce the following fixme's:
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x4036cb78)->(00010021,00000051) fixme:xvidmode:X11DRV_XF86VM_SetCurrentMode Cannot change screen BPP from 32 to 16 fixme:xvidmode:X11DRV_XF86VM_SetCurrentMode Need to update SYSMETRICS after resizing display (now 640x480) fixme:xvidmode:X11DRV_XF86VM_SetCurrentMode Cannot change screen BPP from 32 to 16 fixme:xvidmode:X11DRV_XF86VM_SetCurrentMode Need to update SYSMETRICS after resizing display (now 640x480) fixme:x11drv:X11DRV_DDHAL_CreatePalette stub fixme:ddraw:DIB_DirectDrawSurface_Blt dwFlags DDBLT_WAIT and/or DDBLT_ASYNC: can't handle right now. fixme:dsound:IDirectSoundImpl_SetCooperativeLevel level=DSSCL_PRIORITY not fully supported fixme:ddraw:Main_DirectDrawClipper_Initialize (0x403afce8)->(0x4036cb84,0x00000000),stub! fixme:winmm:MMDRV_Exit Closing while ll-driver open
which one is the most easiest to fix? (i will gladly fix any of them, if i get help to learning wine code, and the philosophy behind it)
I also looked in the code for the last fixme, but i dont understand what is the type of the handle. I guess the code between #if 0 and #endif is not correct, on the first run, I thought a solution like that code:)
Attila ZIMLER
On Tue, 2003-12-23 at 21:02, Zimler Attila wrote:
fixme:xvidmode:X11DRV_XF86VM_SetCurrentMode Need to update SYSMETRICS after resizing display (now 640x480)
I was going to suggest this one, but it seems a patch to remove it was already submitted by Alex a while back (but not committed) so I'd ignore it, hopefully Alex will get to it soon.
fixme:ddraw:Main_DirectDrawClipper_Initialize (0x403afce8)->(0x4036cb84,0x00000000),stub!
If you want a big project, implementing the DDraw clipper could be it - I don't know much about this component but it's used in some games and apps to restrict drawing to the screen.
thanks -mike
On Tue, Dec 23, 2003 at 09:07:12PM +0000, Mike Hearn wrote:
fixme:ddraw:Main_DirectDrawClipper_Initialize (0x403afce8)->(0x4036cb84,0x00000000),stub!
If you want a big project, implementing the DDraw clipper could be it - I don't know much about this component but it's used in some games and apps to restrict drawing to the screen.
Well, the day we do real 'direct graphic access' in Wine is the day we will need a clipper... As we only draw to windows and that the clipping is already done by X for us, the clipper is mostly stubs and does not need anything more than that.
The DDraw code is full of FIXMEs that could be changed into TRACEs. So if the application works, no need to actually check the FIXMEs :-)
Lionel
Lionel Ulmer wrote:
The DDraw code is full of FIXMEs that could be changed into TRACEs. So if the application works, no need to actually check the FIXMEs :-)
Am I understanding it correctly: If the application work we can ignore fixmes? (With other words - to do some real work I need an application which does not work? - I have plenty of them if this is the case :)
Attila
On Wed, 2003-12-24 at 11:16, Zimler Attila wrote:
Am I understanding it correctly: If the application work we can ignore fixmes? (With other words - to do some real work I need an application which does not work? - I have plenty of them if this is the case :)
Yes, that's definately the best way.
"Mike" == Mike Hearn mike@theoretic.com writes:
Mike> On Wed, 2003-12-24 at 11:16, Zimler Attila wrote: >> Am I understanding it correctly: If the application work we can >> ignore fixmes? (With other words - to do some real work I need an >> application which does not work? - I have plenty of them if this is >> the case :)
Mike> Yes, that's definately the best way.
Well, if anybody has a strong impression af what's going wrong causing the FIXME and an idea of how to remedy, he should tackle that fixme. But bugs one observes are normally easier to tackle.
Seasons greetings
I think that a good way to contribute is run a program of your interest and try to make run perfectly. Can I suggest: Winzip (see bug 792), Winamp 5 and we have a control that is not implemented (richedit). Gook luck.
----- Original Message ----- From: "Mike Hearn" mike@theoretic.com To: "Zimler Attila" hijaszu@hlfslinux.hu Cc: wine-devel@winehq.org Sent: Wednesday, December 24, 2003 10:38 AM Subject: Re: newbie wine developer question
On Wed, 2003-12-24 at 11:16, Zimler Attila wrote:
Am I understanding it correctly: If the application work we can ignore fixmes? (With other words - to do some real work I need an application which does not work? - I have plenty of them if this is the case :)
Yes, that's definately the best way.
On December 24, 2003 04:49 am, Lionel Ulmer wrote:
The DDraw code is full of FIXMEs that could be changed into TRACEs. So if the application works, no need to actually check the FIXMEs :-)
Maybe we should change them to TRACEs, they are confusing as FIXMEs...
Dimitrie O. Paun wrote:
On December 24, 2003 04:49 am, Lionel Ulmer wrote:
The DDraw code is full of FIXMEs that could be changed into TRACEs. So if the application works, no need to actually check the FIXMEs :-)
Maybe we should change them to TRACEs, they are confusing as FIXMEs...
or as comments with FIXME in them so we can still 'grep' them A+
On Wed, Dec 24, 2003 at 10:04:26AM -0500, Dimitrie O. Paun wrote:
Maybe we should change them to TRACEs, they are confusing as FIXMEs...
Well, they still represents problems or unimplemented functionnalities in the Wine code... For example, we should use the Cooperative level to prevent people from 'alt-tabbing' from the application or to do 'real' full screen like it does in Windows.
Lionel
"Lionel Ulmer" lionel.ulmer@free.fr wrote:
Well, the day we do real 'direct graphic access' in Wine is the day we will need a clipper... As we only draw to windows and that the clipping is already done by X for us, the clipper is mostly stubs and does not need anything more than that.
Perhaps that's true. But you could try to run QuickTime Player. It emits that dreaded FIXME and *the whole screen* goes black.
Lionel, could you look at that problem? (QT player is a free download from Apple).
Thanks.
Perhaps that's true. But you could try to run QuickTime Player. It emits that dreaded FIXME and *the whole screen* goes black.
Will try when I come back home (d/ling this on a pay-per-the-minute dial-up access is a bit hard :-) ).
Lionel, could you look at that problem? (QT player is a free download from Apple).
Last time I tried this it was with my old sound card with Wine crashing the whole box when playing a sound (so I stopped debugging it).
Lionel
Mike Hearn wrote:
On Tue, 2003-12-23 at 21:02, Zimler Attila wrote:
fixme:xvidmode:X11DRV_XF86VM_SetCurrentMode Need to update SYSMETRICS after resizing display (now 640x480)
I was going to suggest this one, but it seems a patch to remove it was already submitted by Alex a while back (but not committed) so I'd ignore it, hopefully Alex will get to it soon.
fixme:ddraw:Main_DirectDrawClipper_Initialize (0x403afce8)->(0x4036cb84,0x00000000),stub!
If you want a big project, implementing the DDraw clipper could be it - I don't know much about this component but it's used in some games and apps to restrict drawing to the screen.
thanks -mike
Should I learn DirectX for this task? (I guess yes) Could somebody propose a good book on it?
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x4036cb78)->(00010021,00000051)
Not really a big issue. This fixme is here for all games but never prevented any of them to run :-)
fixme:xvidmode:X11DRV_XF86VM_SetCurrentMode Cannot change screen BPP from 32 to 16
Not supported now by XFree so you cannot do anything for it.
fixme:xvidmode:X11DRV_XF86VM_SetCurrentMode Need to update SYSMETRICS after resizing display (now 640x480)
Alex is working on it in his 'winedesktop' patch.
fixme:x11drv:X11DRV_DDHAL_CreatePalette stub
Not harmful.
fixme:ddraw:DIB_DirectDrawSurface_Blt dwFlags DDBLT_WAIT and/or DDBLT_ASYNC: can't handle right now.
Same as above.
fixme:ddraw:Main_DirectDrawClipper_Initialize (0x403afce8)->(0x4036cb84,0x00000000),stub!
You can check that, but see my other mail for an explanation of why the clipper is not really fleshed out :-)
Lionel
PS: if you want to work on some parts of DDraw (ie dlls/ddraw) please contact me before to not do something that I am working on :-)
"Zimler" == Zimler Attila hijaszu@hlfslinux.hu writes:
Zimler> Hi, Since I'm new in developing wine please forgive me if I ask Zimler> a question that is answered earlier (I tried to search an answer Zimler> for my questions, but I did not found.)
Zimler> 1) Should I report fixme's in bugzilla? (I guess, not, but I'm Zimler> not sure).
No , FIXMEs shouldn't be reported.
Zimler> 2) I would like to fix some fixme (which I can Zimler> reproduce), but I don't understand a lot of thins. (I'm new to Zimler> wine, but not new to C). Could somebody help me to start Zimler> involved in the development process?
Read the API description, ask specific question, send patches for inclusion to wine-patches or put them to discussion on wine-devel. Don't get frustrated if nobody reacts, try again.
It is a good habit and helps to understand the problem when you write test cases for our test suite, test them against wine and windows and submitt them too.
Bye
Zimler Attila wrote:
- I would like to fix some fixme (which I can reproduce), but I don't
understand a lot of thins. (I'm new to wine, but not new to C). Could somebody help me to start involved in the development process?
The best way to get started is: 1. pick some repeatable bug 2. write a small C program that detects the bug 3. turn the C program into a standard wine testcase (pretty easy) 4. verify that the testcase passes on real windows and fails on Wine 5. submit the testcase as a patch
Optionally, you can go on: 6. fix the bug, and verify that the test passes 7. submit the fix as a patch
For instance, I noticed last year that the named pipe win32 api calls were busted, so I wrote a test case and submitted it. Even though I didn't go on to fix the bug, my work was appreciated, and it helped the guy who did actually fix the bug.
- Dan