changelog
    
    
    - Tue, 22 Oct 2013 21:39:20 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 22 Oct 2013 21:39:20 +0300] rev 530
 
    - - Added new actions "Hide" and "Reveal" which allow direct setting of objects' visibility setting instead of toggling it.
 
    - Tue, 22 Oct 2013 21:03:57 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 22 Oct 2013 21:03:57 +0300] rev 529
 
    - added a configuration option for line anti-aliasing
 
    - Tue, 22 Oct 2013 19:33:41 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 22 Oct 2013 19:33:41 +0300] rev 528
 
    - fixed: deleting objects would trigger a crash
 
    - Tue, 22 Oct 2013 19:28:45 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 22 Oct 2013 19:28:45 +0300] rev 527
 
    - more minor changes
 
    - Tue, 22 Oct 2013 19:22:15 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 22 Oct 2013 19:22:15 +0300] rev 526
 
    - style corrections
 
    - Tue, 22 Oct 2013 13:53:24 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 22 Oct 2013 13:53:24 +0300] rev 525
 
    - i'm dumb
 
    - Tue, 22 Oct 2013 13:49:55 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 22 Oct 2013 13:49:55 +0300] rev 524
 
    - also removed the if() case mentioned in the prior commit from addObjectDialog.cpp. :P
 
    - Tue, 22 Oct 2013 13:47:41 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 22 Oct 2013 13:47:41 +0300] rev 523
 
    - enclosed the assert replacement in braces. In release mode, the assert is replaced with nothing and there's a little bit of code in addObjectDialog which uses it as a statement in an one-line if(). With the assert disappearing in release builds this triggered a GCC warning, as the if would be left without a body.
 
    - Tue, 22 Oct 2013 13:40:16 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 22 Oct 2013 13:40:16 +0300] rev 522
 
    - - migrated selection from ForgeWindow to individual LDFiles. Should've done this long ago.
- added an operator== for matrix to make stuff actually compile 
    - Sat, 19 Oct 2013 02:33:08 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 19 Oct 2013 02:33:08 +0300] rev 521
 
    - changeProperty(): don't change the property if the value would not change, this should save some procecssing..
 
    - Sat, 19 Oct 2013 01:22:11 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 19 Oct 2013 01:22:11 +0300] rev 520
 
    - initialize GLRenderer::m_hoverpos to (0, 0, 0)
 
    - Sat, 19 Oct 2013 01:15:57 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 19 Oct 2013 01:15:57 +0300] rev 519
 
    - cosmetic fixes
 
    - Sat, 19 Oct 2013 01:11:26 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 19 Oct 2013 01:11:26 +0300] rev 518
 
    - fixed: the file loader would skip every 300th line. And I thought I was going nuts when my quads kept disappearing...
 
    - Sat, 19 Oct 2013 00:39:09 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 19 Oct 2013 00:39:09 +0300] rev 517
 
    - Made the config dialog use a list widget for navigation over a tab widget.
 
    - Fri, 18 Oct 2013 23:49:55 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 18 Oct 2013 23:49:55 +0300] rev 516
 
    - - added LDSharedVertex class for holding copy-on-write vertices. Will need this for future features..
- fixed zoomToFit() crashes for real this time 
    - Fri, 18 Oct 2013 22:30:08 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 18 Oct 2013 22:30:08 +0300] rev 515
 
    - now displays build type in the window title (unless a release build of a release), fixed some macro shenanigans
 
    - Fri, 18 Oct 2013 22:07:26 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 18 Oct 2013 22:07:26 +0300] rev 514
 
    - made messagelog handle messages with newlines
 
    - Fri, 18 Oct 2013 21:52:09 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 18 Oct 2013 21:52:09 +0300] rev 513
 
    - Added a crash catcher which trigger under Linux. It calls GDB and tries to get a backtrace. Also integrated assertion failure handling to this new system. Removed the print() function in the process (because the new bomb box uses a text edit and QTextDocuments's print method clashes with the macro and I figured it was a good idea to rid it anyway) and replaced all calls with log().
 
    - Fri, 18 Oct 2013 18:16:54 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 18 Oct 2013 18:16:54 +0300] rev 512
 
    - fixed: LDForge would crash if message log got full - the older lines would be removed with ::erase, which now expects an iterator because of the recent transition to QList. Why does QList::iterator allow 0 to be passed?
 
    - Fri, 18 Oct 2013 18:12:23 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 18 Oct 2013 18:12:23 +0300] rev 511
 
    - fixed a small memory leak
 
    - Fri, 18 Oct 2013 17:57:42 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 18 Oct 2013 17:57:42 +0300] rev 510
 
    - Fixed: LDForge would sometimes crash over unitialized data in the GL renderer. This crash sure eluded me for a while. Turned out zoomToFit(), which uses m_width and m_height is called before resizeGL() which initializes these variables. This data is used in an operator new[] call.
 
    - Fri, 18 Oct 2013 17:47:05 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 18 Oct 2013 17:47:05 +0300] rev 509
 
    - - added debug/release build configuration. Debug builds are really useful things!
- fixed an assertion failure with use of QString::operator[] 
    - Wed, 16 Oct 2013 23:20:35 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 16 Oct 2013 23:20:35 +0300] rev 508
 
    - removed some custom functions in favor of Qt implementations
 
    - Wed, 16 Oct 2013 23:07:59 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 16 Oct 2013 23:07:59 +0300] rev 507
 
    - reworked the ring finder algorithm greatly, tries harder to find the optimal solution
 
    - Wed, 16 Oct 2013 19:34:12 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 16 Oct 2013 19:34:12 +0300] rev 506
 
    - Added last-resort ring draw with quads
 
    - Wed, 16 Oct 2013 17:11:16 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 16 Oct 2013 17:11:16 +0300] rev 505
 
    - Ring draw: maintain separate polygons for the ring circles and draw them separately of the ring fill to prevent artifact lines from being drawn
 
    - Wed, 16 Oct 2013 16:47:40 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 16 Oct 2013 16:47:40 +0300] rev 504
 
    - Removed the List -> QList alias, use QList directly
 
    - Wed, 16 Oct 2013 16:40:42 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 16 Oct 2013 16:40:42 +0300] rev 503
 
    - removed the List class in favor of QList
 
    - Wed, 16 Oct 2013 16:05:51 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 16 Oct 2013 16:05:51 +0300] rev 502
 
    - removed debug prints from the ring finder
 
    - Wed, 16 Oct 2013 16:04:56 +0300
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 16 Oct 2013 16:04:56 +0300] rev 501
 
    - ring finder integrated! it lives!