Hello community,

here is the log from the commit of package bomber for openSUSE:Factory checked 
in at 2016-05-29 03:07:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bomber (Old)
 and      /work/SRC/openSUSE:Factory/.bomber.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "bomber"

Changes:
--------
--- /work/SRC/openSUSE:Factory/bomber/bomber.changes    2016-03-29 
09:56:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bomber.new/bomber.changes       2016-05-29 
03:07:38.000000000 +0200
@@ -1,0 +2,24 @@
+Sat May  7 10:10:53 UTC 2016 - tittiatc...@gmail.com
+
+- Update to KDE Applications 16.04.1
+   * KDE Applications 16.04.1
+   * https://www.kde.org/announcements/announce-applications-16.04.1.php
+
+
+-------------------------------------------------------------------
+Sun Apr 17 05:49:58 UTC 2016 - tittiatc...@gmail.com
+
+- Update to KDE Applications 16.04.0
+   * KDE Applications 16.04.0
+   * https://www.kde.org/announcements/announce-applications-16.04.0.php
+
+
+-------------------------------------------------------------------
+Mon Apr 11 06:30:44 UTC 2016 - tittiatc...@gmail.com
+
+- Update to KDE Applications 16.03.90
+   * KDE Applications 16.04.0 RC
+   * https://www.kde.org/announcements/announce-applications-16.04-rc.php
+
+
+-------------------------------------------------------------------

Old:
----
  bomber-15.12.3.tar.xz

New:
----
  bomber-16.04.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ bomber.spec ++++++
--- /var/tmp/diff_new_pack.0RQHtA/_old  2016-05-29 03:07:39.000000000 +0200
+++ /var/tmp/diff_new_pack.0RQHtA/_new  2016-05-29 03:07:39.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           bomber
-Version:        15.12.3
+Version:        16.04.1
 Release:        0
 Summary:        Invading cities with a plane
 License:        GPL-2.0+

++++++ bomber-15.12.3.tar.xz -> bomber-16.04.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/CMakeLists.txt 
new/bomber-16.04.1/CMakeLists.txt
--- old/bomber-15.12.3/CMakeLists.txt   2016-01-14 12:35:03.000000000 +0100
+++ new/bomber-16.04.1/CMakeLists.txt   2016-04-25 19:48:00.000000000 +0200
@@ -2,18 +2,20 @@
 
 cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR)
 set (QT_MIN_VERSION "5.3.0")
+set (KF5_MIN_VERSION "5.15.0")
 
 find_package(ECM 1.8.0 REQUIRED CONFIG)
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} 
${ECM_KDE_MODULE_DIR})
 
-find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets )
-find_package(KF5 REQUIRED COMPONENTS 
-    CoreAddons
+find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets)
+find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
     Config
+    CoreAddons
+    Crash
     DBusAddons
+    DocTools
     I18n
     XmlGui
-    DocTools
 )
 
 find_package(KF5KDEGames 4.9.0 REQUIRED)
@@ -28,14 +30,20 @@
 include(KDECMakeSettings)
 include(ECMAddAppIcon)
 
-add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
-add_definitions("-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII")
-
+add_definitions(
+    -DQT_USE_FAST_CONCATENATION
+    -DQT_USE_FAST_OPERATOR_PLUS
+    -DQT_NO_CAST_FROM_ASCII
+    -DQT_NO_CAST_TO_ASCII
+    -DQT_NO_CAST_FROM_BYTEARRAY
+    -DQT_NO_URL_CAST_FROM_STRING
+    -DQT_USE_QSTRINGBUILDER
+)
 
-add_subdirectory( themes ) 
-add_subdirectory( sounds )
-add_subdirectory( pictures )
-add_subdirectory( src )
-add_subdirectory( doc )
+add_subdirectory(themes)
+add_subdirectory(sounds)
+add_subdirectory(icons)
+add_subdirectory(src)
+add_subdirectory(doc)
 
 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
Files old/bomber-15.12.3/icons/128-apps-bomber.png and 
new/bomber-16.04.1/icons/128-apps-bomber.png differ
Files old/bomber-15.12.3/icons/32-apps-bomber.png and 
new/bomber-16.04.1/icons/32-apps-bomber.png differ
Files old/bomber-15.12.3/icons/48-apps-bomber.png and 
new/bomber-16.04.1/icons/48-apps-bomber.png differ
Files old/bomber-15.12.3/icons/64-apps-bomber.png and 
new/bomber-16.04.1/icons/64-apps-bomber.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/icons/CMakeLists.txt 
new/bomber-16.04.1/icons/CMakeLists.txt
--- old/bomber-15.12.3/icons/CMakeLists.txt     1970-01-01 01:00:00.000000000 
+0100
+++ new/bomber-16.04.1/icons/CMakeLists.txt     2016-04-25 19:48:00.000000000 
+0200
@@ -0,0 +1,2 @@
+ecm_install_icons(ICONS 128-apps-bomber.png  32-apps-bomber.png  
48-apps-bomber.png  64-apps-bomber.png DESTINATION ${KDE_INSTALL_ICONDIR} THEME 
hicolor)
+
Files old/bomber-15.12.3/icons/hisc-apps-bomber.svgz and 
new/bomber-16.04.1/icons/hisc-apps-bomber.svgz differ
Files old/bomber-15.12.3/pictures/128-apps-bomber.png and 
new/bomber-16.04.1/pictures/128-apps-bomber.png differ
Files old/bomber-15.12.3/pictures/32-apps-bomber.png and 
new/bomber-16.04.1/pictures/32-apps-bomber.png differ
Files old/bomber-15.12.3/pictures/48-apps-bomber.png and 
new/bomber-16.04.1/pictures/48-apps-bomber.png differ
Files old/bomber-15.12.3/pictures/64-apps-bomber.png and 
new/bomber-16.04.1/pictures/64-apps-bomber.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/pictures/CMakeLists.txt 
new/bomber-16.04.1/pictures/CMakeLists.txt
--- old/bomber-15.12.3/pictures/CMakeLists.txt  2016-01-14 12:35:03.000000000 
+0100
+++ new/bomber-16.04.1/pictures/CMakeLists.txt  1970-01-01 01:00:00.000000000 
+0100
@@ -1,2 +0,0 @@
-ecm_install_icons(ICONS 128-apps-bomber.png  32-apps-bomber.png  
48-apps-bomber.png  64-apps-bomber.png DESTINATION ${KDE_INSTALL_ICONDIR} THEME 
hicolor)
-
Files old/bomber-15.12.3/pictures/hisc-apps-bomber.svgz and 
new/bomber-16.04.1/pictures/hisc-apps-bomber.svgz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/CMakeLists.txt 
new/bomber-16.04.1/src/CMakeLists.txt
--- old/bomber-15.12.3/src/CMakeLists.txt       2016-01-14 12:35:03.000000000 
+0100
+++ new/bomber-16.04.1/src/CMakeLists.txt       2016-04-25 19:48:00.000000000 
+0200
@@ -11,19 +11,26 @@
    explodable.cpp
  )
 
-kconfig_add_kcfg_files(bomber_SRCS settings.kcfgc )
-file(GLOB ICONS_SRCS 
"${CMAKE_CURRENT_SOURCE_DIR}/../pictures/*-apps-bomber.png")
+kconfig_add_kcfg_files(bomber_SRCS settings.kcfgc)
+file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../icons/*-apps-bomber.png")
 ecm_add_app_icon(bomber_SRCS ICONS ${ICONS_SRCS})
 add_executable(bomber ${bomber_SRCS})
 
-target_link_libraries(bomber KF5KDEGames  Phonon::phonon4qt5 KF5::XmlGui 
KF5::I18n KF5::DBusAddons)
+target_link_libraries(bomber
+    KF5KDEGames
+    Phonon::phonon4qt5
+    KF5::XmlGui
+    KF5::I18n
+    KF5::DBusAddons
+    KF5::Crash
+)
 
-install(TARGETS bomber ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} )
+install(TARGETS bomber ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
 
 
 ########### install files ###############
 
-install( PROGRAMS org.kde.bomber.desktop  DESTINATION  ${KDE_INSTALL_APPDIR} )
-install( FILES org.kde.bomber.appdata.xml DESTINATION  
${CMAKE_INSTALL_METAINFODIR} )
-install( FILES bomber.kcfg  DESTINATION  ${KDE_INSTALL_KCFGDIR} )
-install( FILES bomberui.rc  DESTINATION  ${KDE_INSTALL_KXMLGUI5DIR}/bomber )
+install(PROGRAMS org.kde.bomber.desktop  DESTINATION  ${KDE_INSTALL_APPDIR})
+install(FILES org.kde.bomber.appdata.xml DESTINATION  
${CMAKE_INSTALL_METAINFODIR})
+install(FILES bomber.kcfg  DESTINATION  ${KDE_INSTALL_KCFGDIR})
+install(FILES bomberui.rc  DESTINATION  ${KDE_INSTALL_KXMLGUI5DIR}/bomber)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/board.cpp 
new/bomber-16.04.1/src/board.cpp
--- old/bomber-15.12.3/src/board.cpp    2016-01-14 12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/board.cpp    2016-04-25 19:48:00.000000000 +0200
@@ -51,9 +51,8 @@
 const unsigned int BOMB_EXPLODE_TIME = 1000;
 
 BomberBoard::BomberBoard(KGameRenderer *renderer, QGraphicsView *view, QObject 
*parent) :
-    QGraphicsScene(parent), m_renderer(renderer), m_view(view)
+    QGraphicsScene(parent), m_renderer(renderer), m_audioPlayer(nullptr), 
m_bomb(nullptr), m_view(view)
 {
-    m_bomb = Q_NULLPTR;
     m_clock = new QTimer(this);
     m_clock->setInterval(GAME_DELAY);
     connect(m_clock, &QTimer::timeout, this, &BomberBoard::tick);
@@ -64,8 +63,6 @@
     resetPlane();
     clear();
 
-    m_audioPlayer = Q_NULLPTR;
-
     m_soundPath = QStandardPaths::locate(QStandardPaths::DataLocation, 
QLatin1Literal("sounds"), QStandardPaths::LocateDirectory);
 }
 
@@ -80,7 +77,7 @@
 
 void BomberBoard::resetPlane()
 {
-    m_plane->setState(Explodable::Moving);
+    m_plane->setState(Explodable::State::Moving);
     m_plane->resetPosition();
 }
 
@@ -98,7 +95,7 @@
     }
 
     m_plane->resize(m_tileSize);
-    if (m_bomb != Q_NULLPTR) {
+    if (m_bomb != nullptr) {
         m_bomb->resize(m_tileSize);
     }
 
@@ -111,7 +108,7 @@
 void BomberBoard::redraw()
 {
     m_plane->resetPixmaps();
-    if (m_bomb != Q_NULLPTR) {
+    if (m_bomb != nullptr) {
         m_bomb->resetPixmaps();
     }
 }
@@ -130,10 +127,10 @@
 
     m_clock->stop();
     clear();
-    m_plane->setState(Explodable::Moving);
+    m_plane->setState(Explodable::State::Moving);
     m_buildingBlocks = 0;
     //Create the buildings
-    for (unsigned int i = 0; i < NUMBER_BUILDINGS; i++) {
+    for (unsigned int i = 0; i < NUMBER_BUILDINGS; ++i) {
         unsigned int min = level;
         if (min < 3) {
             min = 3;
@@ -175,7 +172,7 @@
 void BomberBoard::setSounds(bool val)
 {
     m_playSounds = val;
-    if (val == true && m_audioPlayer == Q_NULLPTR) {
+    if (val == true && m_audioPlayer == nullptr) {
         m_audioPlayer = Phonon::createPlayer(Phonon::GameCategory);
     }
 }
@@ -186,7 +183,7 @@
 
     m_plane->advanceItem();
 
-    if (m_bomb != Q_NULLPTR) {
+    if (m_bomb != nullptr) {
         m_bomb->advanceItem();
     }
 
@@ -197,7 +194,7 @@
     // Draw everything
     m_plane->update();
 
-    if (m_bomb != Q_NULLPTR) {
+    if (m_bomb != nullptr) {
         m_bomb->update();
     }
 
@@ -208,7 +205,7 @@
 
 void BomberBoard::dropBomb()
 {
-    if (m_bomb == Q_NULLPTR && m_plane->state() == Explodable::Moving) {
+    if (m_bomb == nullptr && m_plane->state() == Explodable::State::Moving) {
         QPointF planePos = m_plane->position();
         m_bomb = new Bomb(m_renderer, this, planePos.x(), planePos.y() + 1, 
m_tileSize);
         this->addItem(m_bomb);
@@ -220,30 +217,30 @@
 {
     foreach (Building *building, m_buildings) {
         if (m_plane->nextBoundingRect().intersects(building->boundingRect()) 
&& m_plane->state()
-                == Explodable::Moving) {
+                == Explodable::State::Moving) {
             // Plane crashed into the building
             building->destoryTop();
-            m_buildingBlocks--;
+            --m_buildingBlocks;
             crashed();
         }
 
-        if (m_bomb != Q_NULLPTR) {
+        if (m_bomb != nullptr) {
             if 
(m_bomb->nextBoundingRect().intersects(building->boundingRect()) && 
m_bomb->state()
-                    == Explodable::Moving) {
+                    == Explodable::State::Moving) {
                 // Bomb hit a building
                 building->destoryTop();
-                m_buildingBlocks--;
+                --m_buildingBlocks;
                 emit onBombHit();
                 bombHit(m_bomb, building->position().x(), 
Building::BUILD_BASE_LOCATION - (building->height()));
-                m_bomb = Q_NULLPTR;
+                m_bomb = nullptr;
             } else if (m_bomb->position().y() >= Building::BUILD_BASE_LOCATION 
+ 1) {
                 // Bomb hit the ground
                 bombHit(m_bomb, (unsigned int)m_bomb->position().x(), 
Building::BUILD_BASE_LOCATION);
-                m_bomb = Q_NULLPTR;
+                m_bomb = nullptr;
             }
         }
 
-        if (m_plane->state() == Explodable::Moving && m_buildingBlocks == 0) {
+        if (m_plane->state() == Explodable::State::Moving && m_buildingBlocks 
== 0) {
             emit levelCleared();
         }
     }
@@ -251,9 +248,8 @@
 
 void BomberBoard::bombHit(Bomb *bomb, qreal moveBombToX, qreal moveBombToY)
 {
-    // playSound(QString("explode.ogg"));
     bomb->setPosition(moveBombToX, moveBombToY);
-    bomb->setState(Bomb::Exploding);
+    bomb->setState(Bomb::State::Exploding);
     m_explodingBombs.enqueue(bomb);
     QTimer::singleShot(BOMB_EXPLODE_TIME, this, SLOT(bombExploded()));
 }
@@ -274,7 +270,7 @@
 
 void BomberBoard::planeExploded()
 {
-    m_plane->setState(Plane::Exploded);
+    m_plane->setState(Plane::State::Exploded);
     emit onPlaneCrash();
 }
 
@@ -282,7 +278,7 @@
 {
     QPointF pos = m_plane->position();
     m_plane->setPosition(pos.x() + 1, pos.y());
-    m_plane->setState(Plane::Exploding);
+    m_plane->setState(Plane::State::Exploding);
     playSound(QLatin1Literal("explode.ogg"));
     QTimer::singleShot(PLANE_EXPLODE_TIME, this, SLOT(planeExploded()));
 }
@@ -293,7 +289,7 @@
     m_buildings.clear();
 
     delete m_bomb;
-    m_bomb = Q_NULLPTR;
+    m_bomb = nullptr;
 
     resetPlane();
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/board.h 
new/bomber-16.04.1/src/board.h
--- old/bomber-15.12.3/src/board.h      2016-01-14 12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/board.h      2016-04-25 19:48:00.000000000 +0200
@@ -51,7 +51,7 @@
      * \param view The graphics view object which this board is bound to
      * \param parent The widget which the board is inserted into
      */
-    explicit BomberBoard(KGameRenderer *renderer, QGraphicsView *view, QObject 
*parent = Q_NULLPTR);
+    explicit BomberBoard(KGameRenderer *renderer, QGraphicsView *view, QObject 
*parent = nullptr);
 
     ~BomberBoard();
 
@@ -138,7 +138,9 @@
     void settingsChanged();
 
 private slots:
-    /** This is called once a second to update and draw all the game objects */
+    /**
+     * This is called once a second to update and draw all the game objects
+     */
     void tick();
 
     /**
@@ -176,10 +178,14 @@
      */
     void crashed();
 
-    /** This is the renderer used to render game objects */
+    /**
+     * This is the renderer used to render game objects
+     */
     KGameRenderer *m_renderer;
 
-    /** This is the size of a tiling block */
+    /**
+     * This is the size of a tiling block
+     */
     QSize m_tileSize;
     QTimer *m_clock;
 
@@ -187,22 +193,34 @@
     bool m_playSounds;
     QDir m_soundPath;
 
-    /** If their is a bomb currently dropping then it is pointed to by this */
+    /**
+     * If their is a bomb currently dropping then it is pointed to by this
+     */
     Bomb *m_bomb;
 
-    /** This points to the plane object used in the level */
+    /**
+     * This points to the plane object used in the level
+     */
     Plane *m_plane;
 
-    /** This contains all the buildings in the current level */
+    /**
+     * This contains all the buildings in the current level
+     */
     QList<Building *> m_buildings;
 
-    /** This contains all the bombs that are currently exploding */
+    /**
+     * This contains all the bombs that are currently exploding
+     */
     QQueue<Bomb *> m_explodingBombs;
 
-    /** This is the number of blocks that make up the buildings */
+    /**
+     * This is the number of blocks that make up the buildings
+     */
     unsigned int m_buildingBlocks;
 
-    /** This is the graphics view object which this board is bound. */
+    /**
+     * This is the graphics view object which this board is bound.
+     */
     QGraphicsView *m_view;
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/bomb.cpp 
new/bomber-16.04.1/src/bomb.cpp
--- old/bomber-15.12.3/src/bomb.cpp     2016-01-14 12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/bomb.cpp     2016-04-25 19:48:00.000000000 +0200
@@ -43,7 +43,7 @@
 
 void Bomb::advanceItem()
 {
-    if (state() == Moving) {
+    if (state() == State::Moving) {
         m_yPos += velocity();
     }
     m_nextBoundingRect.moveTo(m_xPos, m_yPos + velocity());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/bomber.cpp 
new/bomber-16.04.1/src/bomber.cpp
--- old/bomber-15.12.3/src/bomber.cpp   2016-01-14 12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/bomber.cpp   2016-04-25 19:48:00.000000000 +0200
@@ -64,8 +64,6 @@
 
     setFocus();
     setupGUI();
-
-    // readSettings();
 }
 
 Bomber::~Bomber()
@@ -111,15 +109,15 @@
 {
     // Check for running game
     closeGame();
-    if (m_gameWidget->state() == BomberGameWidget::BeforeFirstGame
-            || m_gameWidget->state() == BomberGameWidget::GameOver) {
+    if (m_gameWidget->state() == BomberGameWidget::State::BeforeFirstGame
+            || m_gameWidget->state() == BomberGameWidget::State::GameOver) {
         m_gameWidget->newGame();
     }
 }
 
 void Bomber::pauseGame()
 {
-    if (m_gameWidget->state() == BomberGameWidget::Paused) {
+    if (m_gameWidget->state() == BomberGameWidget::State::Paused) {
         m_gameWidget->setPaused(false);
     } else {
         m_gameWidget->setPaused(true);
@@ -128,13 +126,13 @@
 
 void Bomber::closeGame()
 {
-    if (m_gameWidget->state() == BomberGameWidget::BeforeFirstGame
-            || m_gameWidget->state() == BomberGameWidget::GameOver) {
+    if (m_gameWidget->state() == BomberGameWidget::State::BeforeFirstGame
+            || m_gameWidget->state() == BomberGameWidget::State::GameOver) {
         return;
     }
 
     BomberGameWidget::State old_state = m_gameWidget->state();
-    if (old_state == BomberGameWidget::Running) {
+    if (old_state == BomberGameWidget::State::Running) {
         m_gameWidget->setPaused(true);
     }
     int ret = KMessageBox::questionYesNo(this, i18nc("Message displayed when 
play tries to quit a game that is currently running",
@@ -142,7 +140,7 @@
                                          KStandardGuiItem::close(), 
KStandardGuiItem::cancel());
     if (ret == KMessageBox::Yes) {
         m_gameWidget->closeGame();
-    } else if (old_state == BomberGameWidget::Running) {
+    } else if (old_state == BomberGameWidget::State::Running) {
         m_gameWidget->setPaused(false);
     }
 }
@@ -158,14 +156,15 @@
 
 void Bomber::highscore()
 {
-    KScoreDialog ksdialog(KScoreDialog::Name | KScoreDialog::Score | 
KScoreDialog::Level, this);
+    QPointer<KScoreDialog> ksdialog = new KScoreDialog(KScoreDialog::Name | 
KScoreDialog::Score | KScoreDialog::Level, this);
 
     KScoreDialog::FieldInfo info;
     info[KScoreDialog::Score].setNum(m_gameWidget->score());
     info[KScoreDialog::Level].setNum(m_gameWidget->level());
-    if (ksdialog.addScore(info)) {
-        ksdialog.exec();
+    if (ksdialog->addScore(info)) {
+        ksdialog->exec();
     }
+    delete ksdialog;
 }
 
 void Bomber::setSounds(bool val)
@@ -198,16 +197,15 @@
 void Bomber::gameStateChanged(BomberGameWidget::State state)
 {
     switch (state) {
-
-    case BomberGameWidget::Paused:
+    case BomberGameWidget::State::Paused:
         m_pauseAction->setChecked(true);
         m_statusBar->clearMessage();
         break;
-    case BomberGameWidget::Running:
+    case BomberGameWidget::State::Running:
         m_pauseAction->setChecked(false);
         m_statusBar->clearMessage();
         break;
-    case BomberGameWidget::GameOver:
+    case BomberGameWidget::State::GameOver:
         m_statusBar->showMessage(i18nc("Game over messaged displayed in the 
status bar", "Game over. Press '%1' for a new game",
                                        
m_newAction->shortcuts().first().toString(QKeySequence::NativeText)));
         highscore();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/bomber.h 
new/bomber-16.04.1/src/bomber.h
--- old/bomber-15.12.3/src/bomber.h     2016-01-14 12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/bomber.h     2016-04-25 19:48:00.000000000 +0200
@@ -39,18 +39,11 @@
 {
     Q_OBJECT
 public:
-    /**
-     * Default Constructor
-     */
     Bomber();
+    virtual ~Bomber();
 
     void readSettings();
 
-    /**
-     * Default Destructor
-     */
-    virtual ~Bomber();
-
 private slots:
     void closeGame();
     void newGame();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/bomberui.rc 
new/bomber-16.04.1/src/bomberui.rc
--- old/bomber-15.12.3/src/bomberui.rc  2016-01-14 12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/bomberui.rc  2016-04-25 19:48:00.000000000 +0200
@@ -1,24 +1,23 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<gui name="Bomber"
-     version="1"
-     xmlns="http://www.kde.org/standards/kxmlgui/1.0";
+<gui xmlns="http://www.kde.org/standards/kxmlgui/1.0";
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+     name="Bomber"
+     version="2"
      xsi:schemaLocation="http://www.kde.org/standards/kxmlgui/1.0
                          http://www.kde.org/standards/kxmlgui/1.0/kxmlgui.xsd";>
-       <MenuBar>
-               <Menu name="settings">
-                       <Action name="toggle_sound" append="save_merge" />
-               </Menu>
-       </MenuBar>
-       <ToolBar name="mainToolBar">
-               <text>Main Toolbar</text>
-               <Action name="game_new" />
-               <Action name="game_pause" />
-               <Separator />
-               <Action name="game_highscores" />
-       </ToolBar>
-       <StatusBar />
-       <ActionProperties>
-               <Action shortcut="Space" name="drop_bomb" />            
-       </ActionProperties>
+    <MenuBar>
+        <Menu name="settings">
+            <Action name="toggle_sound" append="save_merge"/>
+        </Menu>
+    </MenuBar>
+    <ToolBar name="mainToolBar">
+        <text>Main Toolbar</text>
+        <Action name="game_new"/>
+        <Action name="game_pause"/>
+        <Separator/>
+        <Action name="game_highscores"/>
+    </ToolBar>
+    <ActionProperties>
+        <Action shortcut="Space" name="drop_bomb"/>
+    </ActionProperties>
 </gui>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/bomberwidget.cpp 
new/bomber-16.04.1/src/bomberwidget.cpp
--- old/bomber-15.12.3/src/bomberwidget.cpp     2016-01-14 12:35:03.000000000 
+0100
+++ new/bomber-16.04.1/src/bomberwidget.cpp     2016-04-25 19:48:00.000000000 
+0200
@@ -37,7 +37,7 @@
 static const unsigned int OVERLAY_Z_VALUE = 1000;
 
 BomberGameWidget::BomberGameWidget(KgThemeProvider *provider, QWidget *parent) 
:
-    QGraphicsView(parent), m_state(BeforeFirstGame), m_level(0), m_lives(0), 
m_time(0),
+    QGraphicsView(parent), m_state(State::BeforeFirstGame), m_level(0), 
m_lives(0), m_time(0),
     m_renderer(provider)
 {
     // Gameboard
@@ -69,7 +69,6 @@
 BomberGameWidget::~BomberGameWidget()
 {
     delete m_board;
-    //delete m_overlay; // m_overlay is implicitly deleted by m_board
 }
 
 unsigned int BomberGameWidget::level() const
@@ -84,10 +83,10 @@
 
 void BomberGameWidget::closeGame()
 {
-    if (m_state != BeforeFirstGame && m_state != GameOver) {
+    if (m_state != State::BeforeFirstGame && m_state != State::GameOver) {
         closeLevel();
 
-        m_state = GameOver;
+        m_state = State::GameOver;
         emit stateChanged(m_state);
         emit gameOver();
 
@@ -113,35 +112,31 @@
 
 void BomberGameWidget::setPaused(bool val)
 {
-    if (m_state == Paused && val == false) {
+    if (m_state == State::Paused && val == false) {
         m_clock->start();
         m_board->setPaused(false);
-        m_state = Running;
-        emit stateChanged(m_state);
-    } else if (m_state == Running && val == true) {
+        m_state = State::Running;
+    } else if (m_state == State::Running && val == true) {
         m_clock->stop();
         m_board->setPaused(true);
-        m_state = Paused;
-        emit stateChanged(m_state);
+        m_state = State::Paused;
     }
-
+    emit stateChanged(m_state);
     redraw();
 }
 
 void BomberGameWidget::setSuspended(bool val)
 {
-    if (m_state == Suspended && val == false) {
+    if (m_state == State::Suspended && val == false) {
         m_clock->start();
         m_board->setPaused(false);
-        m_state = Running;
-        emit stateChanged(m_state);
-    }
-    if (m_state == Running && val == true) {
+        m_state = State::Running;
+    } else if (m_state == State::Running && val == true) {
         m_clock->stop();
         m_board->setPaused(true);
-        m_state = Suspended;
-        emit stateChanged(m_state);
+        m_state = State::Suspended;
     }
+    emit stateChanged(m_state);
     redraw();
 }
 
@@ -157,7 +152,7 @@
 
 void BomberGameWidget::onPlaneCrashed()
 {
-    m_lives--;
+    --m_lives;
     emit livesChanged(m_lives);
     if (m_lives <= 0) {
         closeGame();
@@ -169,24 +164,23 @@
 void BomberGameWidget::onBombHit()
 {
     unsigned int bonus = SCORE_INCREMENT * m_level;
-    m_score += bonus; emit
-    scoreChanged(m_score);
+    m_score += bonus;
+    emit scoreChanged(m_score);
     m_scoreLeftBeforeNewLife -= bonus;
     if (m_scoreLeftBeforeNewLife <= 0) {
         m_scoreLeftBeforeNewLife = NEW_LIVE_AT_SCORE;
-        m_lives++;
+        ++m_lives;
         emit livesChanged(m_lives);
     }
-
 }
 
 void BomberGameWidget::tick()
 {
     static signed int ticks = TICKS_PER_SECOND;
-    ticks--;
+    --ticks;
     if (ticks <= 0) {
-        m_time++; emit
-        timeChanged(m_time);
+        ++m_time;
+        emit timeChanged(m_time);
         ticks = TICKS_PER_SECOND;
     }
 }
@@ -206,16 +200,15 @@
 
 void BomberGameWidget::newLevel()
 {
-    m_state = Running; emit
-    stateChanged(m_state);
+    m_state = State::Running;
+    emit stateChanged(m_state);
 
     m_clock->start();
     m_board->newLevel(m_level);
     m_board->setPaused(false);
 
-    emit
-    livesChanged(m_lives); emit
-    timeChanged(m_time);
+    emit livesChanged(m_lives);
+    emit timeChanged(m_time);
 
     redraw();
 }
@@ -229,11 +222,11 @@
 
 void BomberGameWidget::onDropBomb()
 {
-    if (m_state == Running) {
+    if (m_state == State::Running) {
         m_board->dropBomb();
-    } else if (m_state == BetweenLevels) {
+    } else if (m_state == State::BetweenLevels) {
         newLevel();
-    } else if (m_state == BeforeFirstGame) {
+    } else if (m_state == State::BeforeFirstGame) {
         newGame();
     }
 }
@@ -245,14 +238,14 @@
     }
     QGraphicsItem *item;
     switch (m_state) {
-    case BeforeFirstGame:
+    case State::BeforeFirstGame:
         foreach (item, m_board->items()) {
             item->hide();
         }
         generateOverlay();
         m_overlay->show();
         break;
-    case Running:
+    case State::Running:
         foreach (item, m_board->items()) {
             item->show();
         }
@@ -286,17 +279,17 @@
 
     QString text;
     switch (m_state) {
-    case BeforeFirstGame:
+    case State::BeforeFirstGame:
         text = i18nc("Message show to the user when the game is loaded", 
"Welcome to Bomber.\nClick to start a game");
         break;
-    case Paused:
+    case State::Paused:
         text = i18nc("Message show to the user while the game is paused", 
"Paused");
         break;
-    case BetweenLevels:
+    case State::BetweenLevels:
         text = i18nc("Message telling user which level they just completed", 
"You have successfully cleared level %1\n", m_level - 1)
                + i18nc("Message telling user which level they are about to 
start", "On to level %1.", m_level);
         break;
-    case GameOver:
+    case State::GameOver:
         text = i18nc("Used to tell the user that the game is over", "Game 
over.");
         break;
     default:
@@ -308,8 +301,8 @@
     p.setFont(font);
     unsigned int textWidth = p.boundingRect(p.viewport(), Qt::AlignCenter | 
Qt::AlignVCenter, text).width();
     unsigned int fontSize = 28;
-    while ((textWidth > itemWidth * 0.95)) {
-        fontSize--;
+    while (textWidth > itemWidth * 0.95) {
+        --fontSize;
         font.setPointSize(fontSize);
         p.setFont(font);
         textWidth = p.boundingRect(p.viewport(), Qt::AlignCenter | 
Qt::AlignVCenter, text).width();
@@ -326,17 +319,14 @@
 
 void BomberGameWidget::onLevelCleared()
 {
-    if (m_state == Running) {
-        m_state = BetweenLevels;
+    if (m_state == State::Running) {
+        m_state = State::BetweenLevels;
         closeLevel();
-        m_level++; emit
-        levelChanged(m_level);
-
-        emit
-        stateChanged(m_state);
+        ++m_level;
+        emit levelChanged(m_level);
+        emit stateChanged(m_state);
         redraw();
     }
-
 }
 
 BomberGameWidget::State BomberGameWidget::state() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/bomberwidget.h 
new/bomber-16.04.1/src/bomberwidget.h
--- old/bomber-15.12.3/src/bomberwidget.h       2016-01-14 12:35:03.000000000 
+0100
+++ new/bomber-16.04.1/src/bomberwidget.h       2016-04-25 19:48:00.000000000 
+0200
@@ -35,11 +35,13 @@
     Q_OBJECT
 
 public:
-    /** The different states that the game can be in */
-    enum State
+    /**
+     * The different states that the game can be in
+     */
+    enum class State
     {   BeforeFirstGame, Running, BetweenLevels, Paused, Suspended, GameOver};
 
-    explicit BomberGameWidget(KgThemeProvider *provider, QWidget *parent = 
Q_NULLPTR);
+    explicit BomberGameWidget(KgThemeProvider *provider, QWidget *parent = 
nullptr);
     ~BomberGameWidget();
 
     /**
@@ -176,15 +178,16 @@
     unsigned int m_score;
     unsigned int m_lives;
     unsigned int m_time;
-    /** Used to store the remaining score before a new life is given */
-    unsigned int m_scoreLeftBeforeNewLife;
+    /**
+     * Used to store the remaining score before a new life is given
+     */
+    int m_scoreLeftBeforeNewLife;
 
     KGameRenderer m_renderer;
     QTimer *m_clock;
     BomberBoard *m_board;
 
     QGraphicsPixmapItem *m_overlay;
-
 };
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/building.cpp 
new/bomber-16.04.1/src/building.cpp
--- old/bomber-15.12.3/src/building.cpp 2016-01-14 12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/building.cpp 2016-04-25 19:48:00.000000000 +0200
@@ -32,17 +32,14 @@
  * 1.0 means it's the same size as the tile.
  */
 const qreal BUILDING_RELATIVE_HEIGHT = 1.0;
-const unsigned int MAX_STYLE = 1;
 
 /** The vertical tile number of the bottom tile in the building */
 const unsigned int Building::BUILD_BASE_LOCATION = 16;
 
 Building::Building(KGameRenderer *renderer, BomberBoard *board, unsigned int 
position,
                    unsigned int height) :
-    m_renderer(renderer), m_board(board)
+    m_height(0), m_renderer(renderer), m_board(board), m_xPos(position)
 {
-    m_height = 0;
-    m_xPos = position;
     setHeight(height);
     setupBuildingTiles();
 }
@@ -59,7 +56,7 @@
 {
     if (height < m_height) {
         // Building getting smaller so remove the top
-        for (unsigned int i = 1; i <= m_height - height; i++) {
+        for (unsigned int i = 1; i <= m_height - height; ++i) {
             m_buildingTiles.at(m_height - i)->hide();
             m_board->removeItem(m_buildingTiles.at(m_height - i));
             delete m_buildingTiles.at(m_height - i);
@@ -86,7 +83,7 @@
     unsigned int style = KRandom::random() % styleCount;
     unsigned int maxVarient = 
m_renderer->frameCount(QString::fromLatin1("building_%1").arg(style));
 
-    for (unsigned int heightIndex = 0; heightIndex < m_height - 1; 
heightIndex++) {
+    for (unsigned int heightIndex = 0; heightIndex < m_height - 1; 
++heightIndex) {
         unsigned int varient = KRandom::random() % (maxVarient);
         const QString pixmap = 
QString::fromLatin1("building_%1_%2").arg(style).arg(varient);
         m_buildingTiles.append(createBuildingTile(pixmap));
@@ -118,7 +115,7 @@
 {
     QSize tileSize(static_cast<unsigned int>(BUILDING_RELATIVE_WIDTH * 
size.width()),
                    static_cast<unsigned int>(BUILDING_RELATIVE_HEIGHT * 
size.height()));
-    for (int i = 0; i < m_buildingTiles.size(); i++) {
+    for (int i = 0; i < m_buildingTiles.size(); ++i) {
         KGameRenderedItem *tile = m_buildingTiles.at(i);
         tile->setRenderSize(tileSize);
         tile->setPos(m_board->mapPosition(QPointF(m_xPos, BUILD_BASE_LOCATION 
- i)));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/building.h 
new/bomber-16.04.1/src/building.h
--- old/bomber-15.12.3/src/building.h   2016-01-14 12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/building.h   2016-04-25 19:48:00.000000000 +0200
@@ -19,9 +19,9 @@
 #ifndef BUILDING_H
 #define BUILDING_H
 
-#include <QtCore/QRect>
-#include <QtCore/QSize>
-#include <QtCore/QList>
+#include <QRect>
+#include <QSize>
+#include <QList>
 
 class KGameRenderedItem;
 class KGameRenderer;
@@ -61,7 +61,9 @@
      */
     void setFrame(unsigned int frame);
 
-    /** Show the building item on the game scene */
+    /**
+     * Show the building item on the game scene
+     */
     void show();
 
     /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/explodable.cpp 
new/bomber-16.04.1/src/explodable.cpp
--- old/bomber-15.12.3/src/explodable.cpp       2016-01-14 12:35:03.000000000 
+0100
+++ new/bomber-16.04.1/src/explodable.cpp       2016-04-25 19:48:00.000000000 
+0200
@@ -43,7 +43,7 @@
     m_relativeWidth = relativeWidth;
     m_relativeHeight = relativeHeight;
     resetPixmaps();
-    m_state = Moving;
+    m_state = State::Moving;
     m_nextBoundingRect.setSize(QSizeF(m_relativeWidth, m_relativeHeight));
     setPos(m_board->mapPosition(QPointF(m_xPos, m_yPos)));
 }
@@ -67,7 +67,7 @@
 void Explodable::resize(const QSize &tileSize)
 {
     m_lastSize = tileSize;
-    if (m_state == Moving) {
+    if (m_state == State::Moving) {
         setRenderSize(QSize(
                           m_relativeWidth * tileSize.width(),
                           m_relativeHeight * tileSize.height()
@@ -104,7 +104,7 @@
 {
     m_state = state;
     setRandomFrame();
-    if (m_state == Moving) {
+    if (m_state == State::Moving) {
         m_nextBoundingRect.setSize(QSizeF(m_relativeWidth, m_relativeHeight));
         setSpriteKey(m_mainSvg);
     } else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/explodable.h 
new/bomber-16.04.1/src/explodable.h
--- old/bomber-15.12.3/src/explodable.h 2016-01-14 12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/explodable.h 2016-04-25 19:48:00.000000000 +0200
@@ -30,7 +30,7 @@
 {
 public:
     /** The states that a bomb can be in */
-    enum State {
+    enum class State {
         Moving, Exploding, Exploded
     };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/main.cpp 
new/bomber-16.04.1/src/main.cpp
--- old/bomber-15.12.3/src/main.cpp     2016-01-14 12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/main.cpp     2016-04-25 19:48:00.000000000 +0200
@@ -18,6 +18,7 @@
 #include "bomber.h"
 
 #include <KAboutData>
+#include <KCrash>
 
 #include <KLocalizedString>
 #include <QApplication>
@@ -27,7 +28,7 @@
 
 static const char description[] = I18N_NOOP("Arcade bombing game");
 
-static const char version[] = "0.2";
+static const char version[] = "0.3";
 
 int main(int argc, char **argv)
 {
@@ -48,6 +49,7 @@
                     QLatin1Literal("maem...@gmail.com"));
     QCommandLineParser parser;
     KAboutData::setApplicationData(about);
+    KCrash::initialize();
     parser.addVersionOption();
     parser.addHelpOption();
     about.setupCommandLine(&parser);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/org.kde.bomber.appdata.xml 
new/bomber-16.04.1/src/org.kde.bomber.appdata.xml
--- old/bomber-15.12.3/src/org.kde.bomber.appdata.xml   2016-01-14 
12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/org.kde.bomber.appdata.xml   2016-04-25 
19:48:00.000000000 +0200
@@ -13,7 +13,6 @@
   <name xml:lang="de">Bomber</name>
   <name xml:lang="en-GB">Bomber</name>
   <name xml:lang="es">Bomber</name>
-  <name xml:lang="et">Bomber</name>
   <name xml:lang="fi">Bomber</name>
   <name xml:lang="fr">Bomber</name>
   <name xml:lang="gl">Bomber</name>
@@ -50,7 +49,6 @@
     <p xml:lang="de">Bomber ist ein Arcade-Spiel für einen Spieler, bei dem 
unterschiedliche und in der Höhe steigende Städte mit einem Flugzeug 
angegriffen werden.</p>
     <p xml:lang="en-GB">Bomber is a single player arcade game. The player is 
invading various cities in a plane that is decreasing in height.</p>
     <p xml:lang="es">Bomber es un juego recreativo para un único jugador. El 
jugador está invadiendo diversas ciudades en un avión que cada vez vuela más 
bajo.</p>
-    <p xml:lang="et">Bomber on üksikmängija arkaadmäng. Mängija peab ründama 
erinevaid linnu lennukil, mis laskub aina madalamale.</p>
     <p xml:lang="fi">Bomber on yhden pelaajan pelihallipeli, jossa pelaaja 
hyökkää kaupunkeihin lentokoneella, jonka korkeus vähenee vähitellen.</p>
     <p xml:lang="fr">Bomber est un jeu d'arcade pour un seul joueur. Le joueur 
doit envahir des villes depuis un avion dont l'altitude décroît.</p>
     <p xml:lang="gl">Bomber é un xogo arcade para un único xogador, que 
montado nun avión invadirá varias cidades mentres o aparello vai reducindo a 
súa altitude.</p>
@@ -86,7 +84,6 @@
     <p xml:lang="de">Das Spielziel ist die Zerstörung aller Gebäude und der 
damit verbundene Aufstieg in die nächste Ebene. Die Ebenen werden durch die 
zunehmende Geschwindigkeit der Flugzeuge und Höhe der Gebäude immer 
schwieriger.</p>
     <p xml:lang="en-GB">The goal of the game is to destroy all the buildings 
and advance to the next level. Each level gets a bit harder by increasing the 
speed of the plane and the height of the buildings.</p>
     <p xml:lang="es">El objetivo del juego consiste en destruir todos los 
edificios para avanzar hasta el siguiente nivel. Cada nivel se va haciendo más 
difícil al aumentarse la velocidad del avión y la altura de los edificios.</p>
-    <p xml:lang="et">Mängu eesmärk on hävitada kõik ehitised ja jõuda 
järgmisele tasemele. Iga tase muutub aina raskemaks: suureneb lennuki kiirus 
ning kasvab ehitiste kõrgus.</p>
     <p xml:lang="fi">Pelin tavoitteena on tuhota kaikki rakennukset ja edetä 
seuraavalle tasolle. Kukin taso on edellistä vaikeampi; lentokone on nopeampi 
ja rakennukset ovat korkeampia.</p>
     <p xml:lang="fr">Le but du jeu est de détruire tous les bâtiments pour 
atteindre le niveau suivant. Chaque niveau devient plus difficile en augmentant 
la vitesse de l'avion et la hauteur des bâtiments.</p>
     <p xml:lang="gl">O obxectivo do xogo consiste en destruír os edificios e 
avanzar ao seguinte nivel. Cada novo nivel resultará máis difícil, pois 
aumentará a velocidade do avión, así como a altura dos edificios.</p>
@@ -129,7 +126,6 @@
   <developer_name xml:lang="de">Die KDE-Gemeinschaft</developer_name>
   <developer_name xml:lang="en-GB">The KDE Community</developer_name>
   <developer_name xml:lang="es">La comunidad KDE</developer_name>
-  <developer_name xml:lang="et">KDE kogukond</developer_name>
   <developer_name xml:lang="fi">KDE-yhteisö</developer_name>
   <developer_name xml:lang="fr">La communauté KDE</developer_name>
   <developer_name xml:lang="gl">A comunidade de KDE</developer_name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/org.kde.bomber.desktop 
new/bomber-16.04.1/src/org.kde.bomber.desktop
--- old/bomber-15.12.3/src/org.kde.bomber.desktop       2016-01-14 
12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/org.kde.bomber.desktop       2016-04-25 
19:48:00.000000000 +0200
@@ -1,4 +1,13 @@
 [Desktop Entry]
+Type=Application
+Exec=bomber -qwindowtitle %c
+Icon=bomber
+Terminal=false
+StartupNotify=true
+X-DBUS-StartupType=Multi
+X-DBUS-ServiceName=org.kde.bomber
+X-DocPath=bomber/index.html
+Categories=Qt;KDE;Game;ArcadeGame;
 Name=Bomber
 Name[ast]=Bomber
 Name[bs]=Bombarder
@@ -53,10 +62,6 @@
 Name[x-test]=xxBomberxx
 Name[zh_CN]=投弹者
 Name[zh_TW]=戰鬥機
-Exec=bomber -qwindowtitle %c
-Icon=bomber
-Type=Application
-Terminal=false
 GenericName=Arcade Bombing Game
 GenericName[ast]=Xuegu de bombardéu Arcade
 GenericName[bs]=Bombaški napad arkada igra
@@ -108,7 +113,3 @@
 GenericName[x-test]=xxArcade Bombing Gamexx
 GenericName[zh_CN]=街机上的投弹游戏
 GenericName[zh_TW]=大型遊戲機的戰鬥機遊戲
-Categories=Qt;KDE;Game;ArcadeGame;
-X-DocPath=bomber/index.html
-X-DBUS-StartupType=Multi
-X-DBUS-ServiceName=org.kde.bomber
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/src/plane.cpp 
new/bomber-16.04.1/src/plane.cpp
--- old/bomber-15.12.3/src/plane.cpp    2016-01-14 12:35:03.000000000 +0100
+++ new/bomber-16.04.1/src/plane.cpp    2016-04-25 19:48:00.000000000 +0200
@@ -49,11 +49,11 @@
 
 void Plane::advanceItem()
 {
-    if (state() == Moving) {
+    if (state() == State::Moving) {
         m_xPos += velocity();
         if (m_xPos > PLANE_MAX_POSITION_X) {
             m_xPos = 0;
-            m_yPos++;
+            ++m_yPos;
         }
     }
     m_nextBoundingRect.moveTo(m_xPos + velocity(), m_yPos);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bomber-15.12.3/themes/CMakeLists.txt 
new/bomber-16.04.1/themes/CMakeLists.txt
--- old/bomber-15.12.3/themes/CMakeLists.txt    2016-01-14 12:35:03.000000000 
+0100
+++ new/bomber-16.04.1/themes/CMakeLists.txt    2016-04-25 19:48:00.000000000 
+0200
@@ -1,3 +1,4 @@
 
 install( FILES kbomber.desktop kbomber.png kbomber.svgz DESTINATION  
${KDE_INSTALL_DATADIR}/bomber/themes )
 install( FILES Lava-Island.desktop lava-Island.png Lava-Island.svgz 
DESTINATION  ${KDE_INSTALL_DATADIR}/bomber/themes )
+


Reply via email to