Fri, 18 Oct 2013 21:52:09 +0300
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().
<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>BombBox</class> <widget class="QDialog" name="BombBox"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>676</width> <height>569</height> </rect> </property> <property name="windowTitle"> <string>Fatal Error</string> </property> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <layout class="QHBoxLayout" name="horizontalLayout"> <item> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QLabel" name="label"> <property name="text"> <string/> </property> <property name="pixmap"> <pixmap resource="../ldforge.qrc">:/icons/bomb.png</pixmap> </property> </widget> </item> <item> <spacer name="verticalSpacer"> <property name="orientation"> <enum>Qt::Vertical</enum> </property> <property name="sizeHint" stdset="0"> <size> <width>20</width> <height>138</height> </size> </property> </spacer> </item> </layout> </item> <item> <widget class="QTextEdit" name="m_text"> <property name="readOnly"> <bool>true</bool> </property> </widget> </item> </layout> </item> <item> <widget class="QDialogButtonBox" name="buttonBox"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> <property name="standardButtons"> <set>QDialogButtonBox::Close</set> </property> </widget> </item> </layout> </widget> <resources> <include location="../ldforge.qrc"/> </resources> <connections> <connection> <sender>buttonBox</sender> <signal>accepted()</signal> <receiver>BombBox</receiver> <slot>accept()</slot> <hints> <hint type="sourcelabel"> <x>248</x> <y>254</y> </hint> <hint type="destinationlabel"> <x>157</x> <y>274</y> </hint> </hints> </connection> <connection> <sender>buttonBox</sender> <signal>rejected()</signal> <receiver>BombBox</receiver> <slot>reject()</slot> <hints> <hint type="sourcelabel"> <x>316</x> <y>260</y> </hint> <hint type="destinationlabel"> <x>286</x> <y>274</y> </hint> </hints> </connection> </connections> </ui>