Thanks to both of you Andrew and Juan. I think though I&#39;ll with Andrew&#39;s suggestion. ;-)<br><br><div class="gmail_quote">On Thu, Aug 20, 2009 at 11:58 PM, Andrew Eikum <span dir="ltr">&lt;<a href="mailto:andrew@brightnightgames.com">andrew@brightnightgames.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div></div><div class="h5">Alexandros Dermenakis wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<br>
<br>
I studied the wine developer&#39;s guide and went a bit through the code. I would like a suggestion, a bug to start understanding better the structure of wine and familiarize myself with it in order to be able to contribute more in the future.<br>

<br>
thank you<br>
 �<br>
</blockquote></div></div>
Hi Alexandros,<br>
<br>
When I began working on Wine, I found that the easiest way for me was to implement parts of Wine that have no implementation yet. �Implementing new functions means you don&#39;t have to worry about breaking old tests or re-arranging and understanding someone else&#39;s code. �It also gives you the opportunity to write new tests from the ground up, so you get used to exactly what the unit tests are for and how they work.<br>

<br>
Look around in Wine for functions that are labeled with FIXMEs indicating that they are stubs, or look in the .spec files for functions declared as stubs. �Find a function that has an easy to understand purpose: a very clear input and output. �Then, write unit tests in that DLL&#39;s test suite that prove all of the important features of that function. �Run your tests on an actual Windows OS (look into &quot;crosstests&quot;) and verify that they are correct. �Finally, implement that function in Wine to make it also pass your tests.<br>

<br>
If you want a suggestion for where to look for small stubs, take a look at gdi32 and gdiplus. �I know they still have some smallish, unimplemented or half-implemented functions. �If graphics don&#39;t interest you, there are plenty of stubs elsewhere.<br>

<br>
Once you&#39;ve got the hang of how the unit tests work (I mean it, the test cases are the most important part of getting patches into Wine), try looking into bugs on WineHQ until you find one you think you might be able to handle. �Then gear up for the most fun you&#39;ll ever have reading pages and pages debug logs :)<br>

<br>
No matter where you begin your work, remember that Wine is a difficult project to work on. �Because even very subtle changes can cause breakages in seemingly unrelated parts of Wine, the standard for patches is very high. �You will need to prove that your patch is correct using the test suites. �No provable tests means it&#39;s not getting in.<br>

<br>
Good luck and thanks for your interest,<br><font color="#888888">
Andrew<br>
</font></blockquote></div><br>