Hello, looks like someone added a new class set to NGL (nglDataObjects), and did not "read the manual". Well here's the catch: it's written "beware of the dog" on the frontpage. I'm the dog, and I bite.
More seriously, so many things are wrong that I'd rather see the commiter learn about them and fix them. Should be a matter of 20 minutes and will raise one's coding standards. Complaints: 1. No entry in ChangeLog. This is a major commit with a new class, and I can't tell the who, when and why instantly. BAD. 2. DOS-style text appended (nglDataObjects.h, nglWindow.h). BAD. I'll fix this myself on the repository side. Windoze side: your editor can do unix-style end of lines, find the knob/plugin/hammer. 3. Doxygen tags omited (BAD), or completely wrong/mangled (VERY BAD). I fixed some of them (/////// and other decorations are *not* Doxygen compliant). 4. No context info. The description of nglDataObjects.h was "Data objects interface" : I couldn't guess, really. I added "MIME registry for drag and drop operations, see nglWindow". Maybe I'm wrong, but at least it gives a hint. 5. All code in header file. VERY VERY BAD. Please move this in .cpp files ASAP. Don't bore me with 'optimizations' until you can physically drag'n'drop stuff a hundred of times per second. 6. Platform code in a single place with many #ifdefs of wholy reimplemeted functions or bunch of functions. BAD. See 5) and have .cpp files in the right place (src/core/<platform>). 7. "Registery" is not english, but "Registry" is. Please fix all occurences. 8. "extern nglDataTypesRegistery gDataTypesRegistery;". So wrong. We've worked hard so there is only one global (App) in NGL. The registry instance should probably be a member of nglKernel. At worst, a singleton which is retrievable via a static method of nglDataObjects (but don't expect this design to be portable, X11 woes expected). A good idea is to debate about this issue on the mailing-list. Last but not least, you cannot both declare a type and some variable of this type as extern in the same header: in the cpp file, you'll include the header to fetch the type, and end with both 'static' and 'extern' definitions of this global. Unpredictable linker behaviour (hopefully gcc won't even compile). Groar.