Bug 6158 – winsamp and dhry samples need an update

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
Other
OS
Windows
Creation time
2011-06-14T18:20:00Z
Last change time
2011-06-17T21:11:40Z
Assigned to
nobody
Creator
andrej.mitrovich

Attachments

IDFilenameSummaryContent-TypeSize
10002054_samples.zipdescriptionapplication/x-zip-compressed37005

Comments

Comment #0 by andrej.mitrovich — 2011-06-14T18:20:05Z
winsamp: - WinMain was catching Exceptions instead of Throwable. Throwable should be caught in order to demonstrate the creation of a message box on a null dereference. - With optimizations On the compiler is smart enough to detect that a null dereference is in play and it denies compilation. To trick the compiler I've made a pointer variable in module scope which is null-initialized. - The example was leaking GDI objects. Here's a tip: In the task manager, select View>Select Columns> and put a check next to GDI Objects. On the old example try resizing the window and witness the holy grail of GDI leakage! - The example used old-style prototypes of runtime initialization functions. I've replaced this with an import to cure.runtime and used that inside of WinMain. - Added a pragma to gdi32.lib, and a note that the user can compile via "-L-Subsystem:Windows". .def files are rarely required unless you're doing something super-special like renaming symbols. - The window size was too small to even show the message. - The switch statements were missing default cases. The example wouldn't compile in the next release. The updated sample is in the attachment. Tested on XP32 and Win7. dhry: Just a missing default case. Finally, why aren't the samples on Github anywhere?
Comment #1 by andrej.mitrovich — 2011-06-14T18:21:23Z
Created attachment 1000 description
Comment #2 by bugzilla — 2011-06-15T00:55:14Z
The samples are now on github! https://github.com/D-Programming-Language/dmd/tree/master/samples So now pull requests can be done.
Comment #3 by andrej.mitrovich — 2011-06-15T08:58:03Z
Yay, thanks a bunch!! I'll make a pull later.
Comment #4 by bugzilla — 2011-06-17T21:11:40Z