changelog
    
    
    - Thu, 09 Feb 2017 21:04:33 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 09 Feb 2017 21:04:33 +0200] rev 1116
 
    - Moved dialogs.cpp to dialogs/externalprogrampathdialog.cpp
 
    - Thu, 09 Feb 2017 21:01:12 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 09 Feb 2017 21:01:12 +0200] rev 1115
 
    - Cleaned up ExternalProgramPathDialog
 
    - Thu, 09 Feb 2017 20:54:21 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 09 Feb 2017 20:54:21 +0200] rev 1114
 
    - Moved some global constants into appropriate namespaces.
 
    - Thu, 09 Feb 2017 20:44:36 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 09 Feb 2017 20:44:36 +0200] rev 1113
 
    - Cleaned up GLCompiler. Among other changes, the compiler no longer has to be told what to compile.
 
    - Thu, 09 Feb 2017 20:07:45 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 09 Feb 2017 20:07:45 +0200] rev 1112
 
    - Fixed potential memory leak
 
    - Thu, 09 Feb 2017 19:59:27 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 09 Feb 2017 19:59:27 +0200] rev 1111
 
    - Replaced GLRenderer::m_width and GLRenderer::m_height with width() and height() calls.
 
    - Thu, 09 Feb 2017 19:57:43 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 09 Feb 2017 19:57:43 +0200] rev 1110
 
    - Moved more business logic out of GLRenderer into Canvas. GLRenderer::pick(const QRange&) now returns a set of LDObjects without modifying them. Replaced the GLRenderer::pick(int, int) overload with GLRenderer::pickOneObject.