Hi,
I have built a list of projects that should be easy to tackle by new Wine developpers. The main goal is to provide the needed inspiration to potential Wine developpers that just are not motivated by the standard 'grep FIXME' answer (and I can understand them). I'm posting it here first so that experienced Wine developpers can tell me if I misclassified a project or if they have suggestions for more projects. Once the list seems stable I'll post it on the newsgroup.
Easy:
* Builtin msvcrt mishandles the cmdline to argv conversion #234: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=234 This prevents 'wine /mnt/win/Program\ Files/whatever/foo.exe' from working if you're using the builtin msvcrt!
* Builtin msvcrt mishandles the cmdline to argv conversion #245: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=245 A big bug in how the environment variable is set.
* PrgWin95/98: System metrics differ from the Win9x values #48: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=48 One day I'll fix this one... I swear. Unless you want to work on it first. In that case I'll provide you with my test application and dumps of the metrics for Win95, Win98, NT4, ...
* winelib lacks VT_DECIMAL support #181: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=181 May require to modify many LOCs, but should be pretty easy to do.
* The doc about the command line arguments and the config file is out of date. See TextCP, XVideoPort and Synchronous for instance. I'm sure there are plenty of other things that are out of date.
* Metabug: Test Wine with the VXCL samples #242: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=242 Get the VXCL samples, test them with Wine and report the bugs in the bugzilla database. I know there's lots of them. Then people (or yourself) can start fixing these bugs in a distributed fashion. You can probably start reporting the most obvious bugs just by testing in Wine, but for more subtle bugs you will need two computers (or Win4Lin/VmWare) to more easily compare the behavior in Windows and in Wine.
* Metabug: Test Wine with the Common Control Spy Samples #239: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=239 Get the Common Control Spy samples and test Wine with them. You will need the native comctl32 dll but you can do the tests without rebooting between each test or using two computers.
* PrgWin95: Listbox getting a recessed border instead of a flat one #56: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=56 (I can provide you with the sample application)
* I think it would be nice to add a tool that displays the dlls version information like 'About' does in the windows explorer. I have some code you could use as a starting point and I think it could be merged with winver. In fact this would be almost stabdard windows programming.
* Tabs are missing their inner border #243: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=243 There's a bug in the drawing of the border of the common control tabs. Fixing each of the four instances of the code is easy. It would be interesting to find a way to factorize some of this code.
Medium (I expect these would take longer or be a bit harder)
* Provide a pedump utility #91: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=91 I know there's sample code that does that already floating around so it should be relatively simple.
* wrc fails on preprocessed files #115: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=115 I believe it's just a grammar problem. You'll need to know (or to get cozy with) lex/yacc...
* CreateIcon does not resize bitmaps #175: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=175 I did a similar fix somewhere some time ago. I can provide a sample application and I might be able to point you in the right direction.
* winemaker: 'winemaker --nomfc' does not have the intended effect #227: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=227
* winemaker: Ignores the '--with-{mfc,wine}' options once they are cached #225: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=225 If you're familiar with autoconf and know how configure scripts should behave...
* StrokePath ignores PS_JOIN_xxx #11: http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=11 This should not be too difficult to fix but it would certainly help if you are familiar with GDI.
* Checking the differences between what's in the Windows dlls and what's in our spec files... and fix the contents of our spec files as appropriate. I already have a list of all the APIs in each of the dlls for Win95, Win98, NT4 and Wine2000, plus a script that can show the differences.
* Enhancing the above perl script. In particular it could be made smarter wrt. detecting whether an API is exported by ordinal or not.
-- Francois Gouget fgouget@free.fr http://fgouget.free.fr/ Hiroshima '45 - Czernobyl '86 - Windows '95