[Ktutorial-commits] SF.net SVN: ktutorial:[268] trunk/ktutorial/ktutorial-library
Status: Alpha
Brought to you by:
danxuliu
From: <dan...@us...> - 2010-09-30 15:43:14
|
Revision: 268 http://ktutorial.svn.sourceforge.net/ktutorial/?rev=268&view=rev Author: danxuliu Date: 2010-09-30 15:43:08 +0000 (Thu, 30 Sep 2010) Log Message: ----------- Fix crash when using a link to try to highlight an unknown widget. Modified Paths: -------------- trunk/ktutorial/ktutorial-library/src/view/StepTextWidget.cpp trunk/ktutorial/ktutorial-library/tests/view/StepTextWidgetTest.cpp Modified: trunk/ktutorial/ktutorial-library/src/view/StepTextWidget.cpp =================================================================== --- trunk/ktutorial/ktutorial-library/src/view/StepTextWidget.cpp 2010-09-30 15:38:20 UTC (rev 267) +++ trunk/ktutorial/ktutorial-library/src/view/StepTextWidget.cpp 2010-09-30 15:43:08 UTC (rev 268) @@ -193,6 +193,7 @@ void StepTextWidget::highlightCurrentWidget() { if (!mCurrentHighlightedWidget) { kWarning() << "The widget to highlight was not found!"; + return; } WidgetHighlighterManager::self()->highlight(mCurrentHighlightedWidget); @@ -203,6 +204,7 @@ void StepTextWidget::stopHighlightingCurrentWidget() { if (!mCurrentHighlightedWidget) { kWarning() << "The widget to stop highlighting was not found!"; + return; } WidgetHighlighterManager::self()->stopHighlighting(mCurrentHighlightedWidget); Modified: trunk/ktutorial/ktutorial-library/tests/view/StepTextWidgetTest.cpp =================================================================== --- trunk/ktutorial/ktutorial-library/tests/view/StepTextWidgetTest.cpp 2010-09-30 15:38:20 UTC (rev 267) +++ trunk/ktutorial/ktutorial-library/tests/view/StepTextWidgetTest.cpp 2010-09-30 15:43:08 UTC (rev 268) @@ -54,6 +54,7 @@ void testHighlightWidgetUsingContextMenu(); void testStopHighlightingWidgetUsingContextMenu(); void testHighlightSeveralWidgets(); + void testHighlightUnknownWidget(); void testStopHighlightingWidgetWhenFocused(); @@ -277,6 +278,23 @@ QVERIFY(!widgetToHighlight3->findChild<WidgetHighlighter*>("")); } +void StepTextWidgetTest::testHighlightUnknownWidget() { + KXmlGuiWindow mainWindow; + KTutorial::self()->setup(&mainWindow); + + StepTextWidget widget; + widget.setText("The <a href=\"widget:widgetName\">widget to highlight</a>"); + widget.show(); + + QPoint position = centerOfText(widget, "widget to highlight"); + QTest::mouseClick(widget.viewport(), Qt::LeftButton, Qt::NoModifier, + position, 500); + QTest::mouseClick(widget.viewport(), Qt::LeftButton, Qt::NoModifier, + position, 500); + + //No explicit check is made, if it does not crash everything is fine ;) +} + void StepTextWidgetTest::testStopHighlightingWidgetWhenFocused() { KXmlGuiWindow mainWindow; KTutorial::self()->setup(&mainWindow); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |