1. 18 Nov, 2015 1 commit
  2. 17 Nov, 2015 6 commits
  3. 16 Nov, 2015 2 commits
    • Craig Watson's avatar
    • Craig Watson's avatar
      First pass at OS X port (Qt4->5; Carbon->Cocoa) · 91cc74fb
      Craig Watson authored
      Application compiles and runs, with some caveats. Full list of changes:
      
      - minor changes related to Qt4->Qt5 API differences
      
      - Replaced calls to Carbon framework by Cocoa
      
      - Removed registering of AE event handler. Seems to be done
      automatically in Qt5.
      
      - temporarily removed Podcast functionality, pending (presumably)
      complete re-write due to Quicktime being obsolete in newer OS X
      versions.
      
      - Created OBCocoa namespace, and associated files src/core/OBCocoa.h/.mm, to
      handle OS X - specific system calls. Currently used only by
      UBApplication, but can in the future provide a useful interface between
      the cocoa framework and OB, to avoid having too much OSX-specific code
      in various files
      91cc74fb
  4. 12 Nov, 2015 3 commits
  5. 11 Nov, 2015 7 commits
  6. 10 Nov, 2015 4 commits
    • agriche's avatar
      - new updated files · 698eb875
      agriche authored
      698eb875
    • Craig Watson's avatar
      Removed UBGraphicsPolygonItem::shape() · 7a4e9d2e
      Craig Watson authored
      Long version:
      
      UBGraphicsPolygonItem::shape() sometimes caused OpenBoard to crash due to
      inifinite recursion. This is easily replicated by trying to use the
      highlighting tool.
      
      The reason is: shape() calls boundingRect(); this function's definition is:
      
           QRectF QGraphicsPolygonItem::boundingRect() const
           {
                Q_D(const QGraphicsPolygonItem);
                if (d->boundingRect.isNull()) {
                    qreal pw = pen().style() == Qt::NoPen ? qreal(0) : pen().widthF();
                    if (pw == 0.0)
                        d->boundingRect = d->polygon.boundingRect();
                    else
                        d->boundingRect = shape().controlPointRect();
                }
                return d->boundingRect;
            }
      
      In the case where pw != 0, the shape() function is called. However, it
      is shape() from the derived class, not the base class, which is called.
      In other words, UBGraphicsPolygonItem::shape() is called rather than
      QGraphicsPolygonItem::shape().
      
      This means that boundingRect() is called again from within shape(), and
      so on, causing the program to crash.
      
      The fix was simply to remove UBGraphicsPolygonItem::shape(), as it
      appears to provide the same (or very similar) functionality to that of
      the base class's shape() function.
      
      In case this shape() function actually is needed, another workaround
      should be implemented to prevent this infinite recursion.
      7a4e9d2e
    • Craig Watson's avatar
    • agriche's avatar
      cdc0311a
  7. 09 Nov, 2015 4 commits
  8. 06 Nov, 2015 7 commits
  9. 05 Nov, 2015 6 commits