From b48c872336e3fa63d4262d4282e94b48383a3d37 Mon Sep 17 00:00:00 2001 From: con Date: Tue, 24 Feb 2009 15:38:45 +0100 Subject: [PATCH 01/12] Fixes: - Updated welcome screen picture --- .../coreplugin/html/images/product_logo.png | Bin 7136 -> 51058 bytes src/plugins/coreplugin/html/qt.css | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/coreplugin/html/images/product_logo.png b/src/plugins/coreplugin/html/images/product_logo.png index 8b8ff34a748b3fee6306279c4553b7d811f1025c..d7aa9d1992f4a96ec4d804a315cd33bc52c98348 100644 GIT binary patch literal 51058 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 diff --git a/src/plugins/coreplugin/html/qt.css b/src/plugins/coreplugin/html/qt.css index 1e1dc5884c1..7b5c7670d7a 100644 --- a/src/plugins/coreplugin/html/qt.css +++ b/src/plugins/coreplugin/html/qt.css @@ -231,7 +231,6 @@ Layout TOP - Logo und Welcome Text float:left; width:210px; - padding-top:70px; } @@ -244,7 +243,8 @@ Layout TOP - Logo und Welcome Text .layout_top .welcome_text{ margin-left:210px; - padding-top:50px; + padding-top:20px; + padding-bottom:30px; } From e82c0274c0474d81c2da454f65f33f4c21bad92d Mon Sep 17 00:00:00 2001 From: con Date: Tue, 24 Feb 2009 16:17:49 +0100 Subject: [PATCH 02/12] Fixes: - Some acknowledgements --- README | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 00000000000..54270d75259 --- /dev/null +++ b/README @@ -0,0 +1,23 @@ +QtCreator 1.0.0 +=============== +QtCreator is a crossplatform C++ IDE for development with the Qt framework. + +Supported Platforms +=================== +The binary packages support + +Windows XP SP2, Windows Vista +(K)Ubuntu Linux 5.04, (K)Ubuntu Linux 7.04 32bit and 64bit +Mac OS 10.4 and later + +Building the sources require Qt 4.5.0 or later. + +Third-party components +====================== +QtCreator includes the following third-party components, +we thank the authors who made this possible: + +* Open Source front-end for C++ (license MIT), enhanced for use in Qt Creator + Roberto Raggi + QtCreator/src/shared/cplusplus + From 4e1101ef3c2f1c1b5547026f25c7e0db3103334f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Tue, 24 Feb 2009 16:17:27 +0100 Subject: [PATCH 03/12] Corrected paths to the long versions and removed ".debug" postfix --- src/tools/qtlibspatcher/qtlibspatchermain.cpp | 724 +++++++++--------- 1 file changed, 362 insertions(+), 362 deletions(-) diff --git a/src/tools/qtlibspatcher/qtlibspatchermain.cpp b/src/tools/qtlibspatcher/qtlibspatchermain.cpp index f1780973cf4..fe9dc6757ab 100644 --- a/src/tools/qtlibspatcher/qtlibspatchermain.cpp +++ b/src/tools/qtlibspatcher/qtlibspatchermain.cpp @@ -47,8 +47,8 @@ const char * const oldInstallBase = QT_INSTALL_DIR; const char * const oldSourceBase = QT_INSTALL_DIR; #else - const char * const oldSourceBase = "/home/berlin/dev/qt-4.5.0-temp/qt-x11-opensource-src-4.5.0"; - const char * const oldInstallBase = "/home/berlin/dev/qt-4.5.0-shipping/qt"; + const char * const oldSourceBase = "/home/berlin/dev/qt-4.5.0-temp/this_path_is_supposed/to_be_very_long/hopefully_this/is_long_enough/qt-x11-opensource-src-4.5.0"; + const char * const oldInstallBase = "/home/berlin/dev/qt-4.5.0-shipping/this_path_is_supposed/to_be_very_long/hopefully_this/is_long_enough/qt"; #endif @@ -215,374 +215,374 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath) {"/lib/libQtUiTools.a", "/tools/designer/src/uitools"}, {"/demos/shared/libdemo_shared.a", "/demos/shared"}, - {"/plugins/codecs/libqkrcodecs.so.debug", "/plugins/codecs"}, - {"/plugins/codecs/libqtwcodecs.so.debug", "/plugins/codecs"}, - {"/plugins/codecs/libqcncodecs.so.debug", "/plugins/codecs"}, - {"/plugins/codecs/libqjpcodecs.so.debug", "/plugins/codecs"}, - {"/plugins/iconengines/libqsvgicon.so.debug", "/plugins/iconengines"}, - {"/plugins/sqldrivers/libqsqlmysql.so.debug", "/plugins/sqldrivers"}, - {"/plugins/sqldrivers/libqsqlite.so.debug", "/plugins/sqldrivers"}, - {"/plugins/sqldrivers/libqsqlite2.so.debug", "/plugins/sqldrivers"}, - {"/plugins/sqldrivers/libqsqlpsql.so.debug", "/plugins/sqldrivers"}, - {"/plugins/imageformats/libqgif.so.debug", "/plugins/imageformats"}, - {"/plugins/imageformats/libqtiff.so.debug", "/plugins/imageformats"}, - {"/plugins/imageformats/libqsvg.so.debug", "/plugins/imageformats"}, - {"/plugins/imageformats/libqjpeg.so.debug", "/plugins/imageformats"}, - {"/plugins/imageformats/libqico.so.debug", "/plugins/imageformats"}, - {"/plugins/imageformats/libqmng.so.debug", "/plugins/imageformats"}, - {"/plugins/accessible/libqtaccessiblewidgets.so.debug", "/plugins/accessible"}, - {"/plugins/accessible/libqtaccessiblecompatwidgets.so.debug", "/plugins/accessible"}, - {"/plugins/designer/libcontainerextension.so.debug", "/plugins/designer"}, - {"/plugins/designer/libtaskmenuextension.so.debug", "/plugins/designer"}, - {"/plugins/designer/libqwebview.so.debug", "/plugins/designer"}, - {"/plugins/designer/libcustomwidgetplugin.so.debug", "/plugins/designer"}, - {"/plugins/designer/libarthurplugin.so.debug", "/plugins/designer"}, - {"/plugins/designer/libqt3supportwidgets.so.debug", "/plugins/designer"}, - {"/plugins/designer/libworldtimeclockplugin.so.debug", "/plugins/designer"}, - {"/plugins/inputmethods/libqimsw-multi.so.debug", "/plugins/inputmethods"}, - {"/plugins/script/libqtscriptdbus.so.debug", "/plugins/script"}, - {"/examples/draganddrop/puzzle/puzzle.debug", "/examples/draganddrop/puzzle"}, - {"/examples/draganddrop/dropsite/dropsite.debug", "/examples/draganddrop/dropsite"}, - {"/examples/draganddrop/draggabletext/draggabletext.debug", "/examples/draganddrop/draggabletext"}, - {"/examples/draganddrop/draggableicons/draggableicons.debug", "/examples/draganddrop/draggableicons"}, - {"/examples/draganddrop/fridgemagnets/fridgemagnets.debug", "/examples/draganddrop/fridgemagnets"}, - {"/examples/webkit/formextractor/formExtractor.debug", "/examples/webkit/formextractor"}, - {"/examples/webkit/previewer/previewer.debug", "/examples/webkit/previewer"}, - {"/examples/richtext/orderform/orderform.debug", "/examples/richtext/orderform"}, - {"/examples/richtext/calendar/calendar.debug", "/examples/richtext/calendar"}, - {"/examples/richtext/syntaxhighlighter/syntaxhighlighter.debug", "/examples/richtext/syntaxhighlighter"}, - {"/examples/desktop/systray/systray.debug", "/examples/desktop/systray"}, - {"/examples/desktop/screenshot/screenshot.debug", "/examples/desktop/screenshot"}, - {"/examples/linguist/arrowpad/arrowpad.debug", "/examples/linguist/arrowpad"}, - {"/examples/linguist/trollprint/trollprint.debug", "/examples/linguist/trollprint"}, - {"/examples/linguist/hellotr/hellotr.debug", "/examples/linguist/hellotr"}, - {"/examples/ipc/sharedmemory/sharedmemory.debug", "/examples/ipc/sharedmemory"}, - {"/examples/ipc/localfortuneclient/localfortuneclient.debug", "/examples/ipc/localfortuneclient"}, - {"/examples/ipc/localfortuneserver/localfortuneserver.debug", "/examples/ipc/localfortuneserver"}, - {"/examples/threads/waitconditions/waitconditions.debug", "/examples/threads/waitconditions"}, - {"/examples/threads/semaphores/semaphores.debug", "/examples/threads/semaphores"}, - {"/examples/threads/mandelbrot/mandelbrot.debug", "/examples/threads/mandelbrot"}, - {"/examples/dbus/listnames/listnames.debug", "/examples/dbus/listnames"}, - {"/examples/dbus/pingpong/ping.debug", "/examples/dbus/pingpong"}, - {"/examples/dbus/pingpong/pong.debug", "/examples/dbus/pingpong"}, - {"/examples/dbus/complexpingpong/complexping.debug", "/examples/dbus/complexpingpong"}, - {"/examples/dbus/complexpingpong/complexpong.debug", "/examples/dbus/complexpingpong"}, - {"/examples/dbus/chat/dbus-chat.debug", "/examples/dbus/chat"}, - {"/examples/dbus/remotecontrolledcar/car/car.debug", "/examples/dbus/remotecontrolledcar/car"}, - {"/examples/dbus/remotecontrolledcar/controller/controller.debug", "/examples/dbus/remotecontrolledcar/controller"}, - {"/examples/qtconcurrent/wordcount/wordcount.debug", "/examples/qtconcurrent/wordcount"}, - {"/examples/qtconcurrent/runfunction/runfunction.debug", "/examples/qtconcurrent/runfunction"}, - {"/examples/qtconcurrent/progressdialog/progressdialog.debug", "/examples/qtconcurrent/progressdialog"}, - {"/examples/qtconcurrent/map/mapdemo.debug", "/examples/qtconcurrent/map"}, - {"/examples/qtconcurrent/imagescaling/imagescaling.debug", "/examples/qtconcurrent/imagescaling"}, - {"/examples/designer/calculatorform/calculatorform.debug", "/examples/designer/calculatorform"}, - {"/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder.debug", "/examples/designer/worldtimeclockbuilder"}, - {"/examples/designer/calculatorbuilder/calculatorbuilder.debug", "/examples/designer/calculatorbuilder"}, - {"/examples/sql/drilldown/drilldown.debug", "/examples/sql/drilldown"}, - {"/examples/sql/masterdetail/masterdetail.debug", "/examples/sql/masterdetail"}, - {"/examples/sql/tablemodel/tablemodel.debug", "/examples/sql/tablemodel"}, - {"/examples/sql/relationaltablemodel/relationaltablemodel.debug", "/examples/sql/relationaltablemodel"}, - {"/examples/sql/querymodel/querymodel.debug", "/examples/sql/querymodel"}, - {"/examples/sql/cachedtable/cachedtable.debug", "/examples/sql/cachedtable"}, - {"/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.debug", "/examples/xmlpatterns/qobjectxmlmodel"}, - {"/examples/xmlpatterns/recipes/recipes.debug", "/examples/xmlpatterns/recipes"}, - {"/examples/xmlpatterns/filetree/filetree.debug", "/examples/xmlpatterns/filetree"}, - {"/examples/assistant/simpletextviewer/simpletextviewer.debug", "/examples/assistant/simpletextviewer"}, - {"/examples/help/simpletextviewer/simpletextviewer.debug", "/examples/help/simpletextviewer"}, - {"/examples/help/contextsensitivehelp/contextsensitivehelp.debug", "/examples/help/contextsensitivehelp"}, - {"/examples/help/remotecontrol/remotecontrol.debug", "/examples/help/remotecontrol"}, - {"/examples/opengl/grabber/grabber.debug", "/examples/opengl/grabber"}, - {"/examples/opengl/framebufferobject2/framebufferobject2.debug", "/examples/opengl/framebufferobject2"}, - {"/examples/opengl/hellogl/hellogl.debug", "/examples/opengl/hellogl"}, - {"/examples/opengl/framebufferobject/framebufferobject.debug", "/examples/opengl/framebufferobject"}, - {"/examples/opengl/overpainting/overpainting.debug", "/examples/opengl/overpainting"}, - {"/examples/opengl/pbuffers2/pbuffers2.debug", "/examples/opengl/pbuffers2"}, - {"/examples/opengl/2dpainting/2dpainting.debug", "/examples/opengl/2dpainting"}, - {"/examples/opengl/pbuffers/pbuffers.debug", "/examples/opengl/pbuffers"}, - {"/examples/opengl/samplebuffers/samplebuffers.debug", "/examples/opengl/samplebuffers"}, - {"/examples/opengl/textures/textures.debug", "/examples/opengl/textures"}, - {"/examples/graphicsview/elasticnodes/elasticnodes.debug", "/examples/graphicsview/elasticnodes"}, - {"/examples/graphicsview/collidingmice/collidingmice.debug", "/examples/graphicsview/collidingmice"}, - {"/examples/graphicsview/portedasteroids/portedasteroids.debug", "/examples/graphicsview/portedasteroids"}, - {"/examples/graphicsview/padnavigator/padnavigator.debug", "/examples/graphicsview/padnavigator"}, - {"/examples/graphicsview/portedcanvas/portedcanvas.debug", "/examples/graphicsview/portedcanvas"}, - {"/examples/graphicsview/diagramscene/diagramscene.debug", "/examples/graphicsview/diagramscene"}, - {"/examples/graphicsview/dragdroprobot/dragdroprobot.debug", "/examples/graphicsview/dragdroprobot"}, - {"/examples/mainwindows/menus/menus.debug", "/examples/mainwindows/menus"}, - {"/examples/mainwindows/mdi/mdi.debug", "/examples/mainwindows/mdi"}, - {"/examples/mainwindows/sdi/sdi.debug", "/examples/mainwindows/sdi"}, - {"/examples/mainwindows/recentfiles/recentfiles.debug", "/examples/mainwindows/recentfiles"}, - {"/examples/mainwindows/application/application.debug", "/examples/mainwindows/application"}, - {"/examples/mainwindows/dockwidgets/dockwidgets.debug", "/examples/mainwindows/dockwidgets"}, - {"/examples/widgets/tablet/tablet.debug", "/examples/widgets/tablet"}, - {"/examples/widgets/shapedclock/shapedclock.debug", "/examples/widgets/shapedclock"}, - {"/examples/widgets/styles/styles.debug", "/examples/widgets/styles"}, - {"/examples/widgets/icons/icons.debug", "/examples/widgets/icons"}, - {"/examples/widgets/charactermap/charactermap.debug", "/examples/widgets/charactermap"}, - {"/examples/widgets/sliders/sliders.debug", "/examples/widgets/sliders"}, - {"/examples/widgets/tooltips/tooltips.debug", "/examples/widgets/tooltips"}, - {"/examples/widgets/windowflags/windowflags.debug", "/examples/widgets/windowflags"}, - {"/examples/widgets/stylesheet/stylesheet.debug", "/examples/widgets/stylesheet"}, - {"/examples/widgets/spinboxes/spinboxes.debug", "/examples/widgets/spinboxes"}, - {"/examples/widgets/validators/validators.debug", "/examples/widgets/validators"}, - {"/examples/widgets/calculator/calculator.debug", "/examples/widgets/calculator"}, - {"/examples/widgets/groupbox/groupbox.debug", "/examples/widgets/groupbox"}, - {"/examples/widgets/scribble/scribble.debug", "/examples/widgets/scribble"}, - {"/examples/widgets/imageviewer/imageviewer.debug", "/examples/widgets/imageviewer"}, - {"/examples/widgets/digitalclock/digitalclock.debug", "/examples/widgets/digitalclock"}, - {"/examples/widgets/lineedits/lineedits.debug", "/examples/widgets/lineedits"}, - {"/examples/widgets/movie/movie.debug", "/examples/widgets/movie"}, - {"/examples/widgets/calendarwidget/calendarwidget.debug", "/examples/widgets/calendarwidget"}, - {"/examples/widgets/wiggly/wiggly.debug", "/examples/widgets/wiggly"}, - {"/examples/widgets/analogclock/analogclock.debug", "/examples/widgets/analogclock"}, - {"/examples/widgets/tetrix/tetrix.debug", "/examples/widgets/tetrix"}, - {"/examples/painting/basicdrawing/basicdrawing.debug", "/examples/painting/basicdrawing"}, - {"/examples/painting/svgviewer/svgviewer.debug", "/examples/painting/svgviewer"}, - {"/examples/painting/fontsampler/fontsampler.debug", "/examples/painting/fontsampler"}, - {"/examples/painting/concentriccircles/concentriccircles.debug", "/examples/painting/concentriccircles"}, - {"/examples/painting/painterpaths/painterpaths.debug", "/examples/painting/painterpaths"}, - {"/examples/painting/imagecomposition/imagecomposition.debug", "/examples/painting/imagecomposition"}, - {"/examples/painting/transformations/transformations.debug", "/examples/painting/transformations"}, - {"/examples/tools/customcompleter/customcompleter.debug", "/examples/tools/customcompleter"}, - {"/examples/tools/codecs/codecs.debug", "/examples/tools/codecs"}, - {"/examples/tools/plugandpaint/plugins/libpnp_extrafilters.so.debug", "/examples/tools/plugandpaint/plugins"}, - {"/examples/tools/plugandpaint/plugandpaint.debug", "/examples/tools/plugandpaint"}, - {"/examples/tools/regexp/regexp.debug", "/examples/tools/regexp"}, - {"/examples/tools/undoframework/undoframework.debug", "/examples/tools/undoframework"}, - {"/examples/tools/i18n/i18n.debug", "/examples/tools/i18n"}, - {"/examples/tools/completer/completer.debug", "/examples/tools/completer"}, - {"/examples/tools/echoplugin/plugin/libechoplugin.so.debug", "/examples/tools/echoplugin/plugin"}, - {"/examples/tools/echoplugin/echoplugin.debug", "/examples/tools/echoplugin"}, - {"/examples/tools/styleplugin/styles/libsimplestyleplugin.so.debug", "/examples/tools/styleplugin/styles"}, - {"/examples/tools/styleplugin/styleplugin.debug", "/examples/tools/styleplugin"}, - {"/examples/tools/treemodelcompleter/treemodelcompleter.debug", "/examples/tools/treemodelcompleter"}, - {"/examples/tools/settingseditor/settingseditor.debug", "/examples/tools/settingseditor"}, - {"/examples/network/securesocketclient/securesocketclient.debug", "/examples/network/securesocketclient"}, - {"/examples/network/broadcastreceiver/broadcastreceiver.debug", "/examples/network/broadcastreceiver"}, - {"/examples/network/downloadmanager/downloadmanager.debug", "/examples/network/downloadmanager"}, - {"/examples/network/fortuneserver/fortuneserver.debug", "/examples/network/fortuneserver"}, - {"/examples/network/loopback/loopback.debug", "/examples/network/loopback"}, - {"/examples/network/http/http.debug", "/examples/network/http"}, - {"/examples/network/ftp/ftp.debug", "/examples/network/ftp"}, - {"/examples/network/download/download.debug", "/examples/network/download"}, - {"/examples/network/fortuneclient/fortuneclient.debug", "/examples/network/fortuneclient"}, - {"/examples/network/blockingfortuneclient/blockingfortuneclient.debug", "/examples/network/blockingfortuneclient"}, - {"/examples/network/broadcastsender/broadcastsender.debug", "/examples/network/broadcastsender"}, - {"/examples/network/threadedfortuneserver/threadedfortuneserver.debug", "/examples/network/threadedfortuneserver"}, - {"/examples/network/chat/network-chat.debug", "/examples/network/chat"}, - {"/examples/network/torrent/torrent.debug", "/examples/network/torrent"}, - {"/examples/qtestlib/tutorial4/tutorial4.debug", "/examples/qtestlib/tutorial4"}, - {"/examples/qtestlib/tutorial1/tutorial1.debug", "/examples/qtestlib/tutorial1"}, - {"/examples/qtestlib/tutorial2/tutorial2.debug", "/examples/qtestlib/tutorial2"}, - {"/examples/qtestlib/tutorial3/tutorial3.debug", "/examples/qtestlib/tutorial3"}, - {"/examples/tutorials/tutorial/t3/t3.debug", "/examples/tutorials/tutorial/t3"}, - {"/examples/tutorials/tutorial/t5/t5.debug", "/examples/tutorials/tutorial/t5"}, - {"/examples/tutorials/tutorial/t2/t2.debug", "/examples/tutorials/tutorial/t2"}, - {"/examples/tutorials/tutorial/t11/t11.debug", "/examples/tutorials/tutorial/t11"}, - {"/examples/tutorials/tutorial/t6/t6.debug", "/examples/tutorials/tutorial/t6"}, - {"/examples/tutorials/tutorial/t13/t13.debug", "/examples/tutorials/tutorial/t13"}, - {"/examples/tutorials/tutorial/t12/t12.debug", "/examples/tutorials/tutorial/t12"}, - {"/examples/tutorials/tutorial/t9/t9.debug", "/examples/tutorials/tutorial/t9"}, - {"/examples/tutorials/tutorial/t1/t1.debug", "/examples/tutorials/tutorial/t1"}, - {"/examples/tutorials/tutorial/t4/t4.debug", "/examples/tutorials/tutorial/t4"}, - {"/examples/tutorials/tutorial/t14/t14.debug", "/examples/tutorials/tutorial/t14"}, - {"/examples/tutorials/tutorial/t8/t8.debug", "/examples/tutorials/tutorial/t8"}, - {"/examples/tutorials/tutorial/t7/t7.debug", "/examples/tutorials/tutorial/t7"}, - {"/examples/tutorials/tutorial/t10/t10.debug", "/examples/tutorials/tutorial/t10"}, - {"/examples/tutorials/addressbook/part2/part2.debug", "/examples/tutorials/addressbook/part2"}, - {"/examples/tutorials/addressbook/part5/part5.debug", "/examples/tutorials/addressbook/part5"}, - {"/examples/tutorials/addressbook/part3/part3.debug", "/examples/tutorials/addressbook/part3"}, - {"/examples/tutorials/addressbook/part4/part4.debug", "/examples/tutorials/addressbook/part4"}, - {"/examples/tutorials/addressbook/part7/part7.debug", "/examples/tutorials/addressbook/part7"}, - {"/examples/tutorials/addressbook/part1/part1.debug", "/examples/tutorials/addressbook/part1"}, - {"/examples/tutorials/addressbook/part6/part6.debug", "/examples/tutorials/addressbook/part6"}, - {"/examples/xml/streambookmarks/streambookmarks.debug", "/examples/xml/streambookmarks"}, - {"/examples/xml/saxbookmarks/saxbookmarks.debug", "/examples/xml/saxbookmarks"}, - {"/examples/xml/xmlstreamlint/xmlstreamlint.debug", "/examples/xml/xmlstreamlint"}, - {"/examples/xml/dombookmarks/dombookmarks.debug", "/examples/xml/dombookmarks"}, - {"/examples/xml/rsslisting/rsslisting.debug", "/examples/xml/rsslisting"}, - {"/examples/layouts/dynamiclayouts/dynamiclayouts.debug", "/examples/layouts/dynamiclayouts"}, - {"/examples/layouts/flowlayout/flowlayout.debug", "/examples/layouts/flowlayout"}, - {"/examples/layouts/borderlayout/borderlayout.debug", "/examples/layouts/borderlayout"}, - {"/examples/layouts/basiclayouts/basiclayouts.debug", "/examples/layouts/basiclayouts"}, - {"/examples/dialogs/trivialwizard/trivialwizard.debug", "/examples/dialogs/trivialwizard"}, - {"/examples/dialogs/extension/extension.debug", "/examples/dialogs/extension"}, - {"/examples/dialogs/standarddialogs/standarddialogs.debug", "/examples/dialogs/standarddialogs"}, - {"/examples/dialogs/tabdialog/tabdialog.debug", "/examples/dialogs/tabdialog"}, - {"/examples/dialogs/classwizard/classwizard.debug", "/examples/dialogs/classwizard"}, - {"/examples/dialogs/findfiles/findfiles.debug", "/examples/dialogs/findfiles"}, - {"/examples/dialogs/licensewizard/licensewizard.debug", "/examples/dialogs/licensewizard"}, - {"/examples/dialogs/configdialog/configdialog.debug", "/examples/dialogs/configdialog"}, - {"/examples/itemviews/coloreditorfactory/coloreditorfactory.debug", "/examples/itemviews/coloreditorfactory"}, - {"/examples/itemviews/pixelator/pixelator.debug", "/examples/itemviews/pixelator"}, - {"/examples/itemviews/simplewidgetmapper/simplewidgetmapper.debug", "/examples/itemviews/simplewidgetmapper"}, - {"/examples/itemviews/puzzle/puzzle.debug", "/examples/itemviews/puzzle"}, - {"/examples/itemviews/dirview/dirview.debug", "/examples/itemviews/dirview"}, - {"/examples/itemviews/addressbook/addressbook.debug", "/examples/itemviews/addressbook"}, - {"/examples/itemviews/spinboxdelegate/spinboxdelegate.debug", "/examples/itemviews/spinboxdelegate"}, - {"/examples/itemviews/simpletreemodel/simpletreemodel.debug", "/examples/itemviews/simpletreemodel"}, - {"/examples/itemviews/chart/chart.debug", "/examples/itemviews/chart"}, - {"/examples/itemviews/basicsortfiltermodel/basicsortfiltermodel.debug", "/examples/itemviews/basicsortfiltermodel"}, - {"/examples/itemviews/customsortfiltermodel/customsortfiltermodel.debug", "/examples/itemviews/customsortfiltermodel"}, - {"/examples/itemviews/stardelegate/stardelegate.debug", "/examples/itemviews/stardelegate"}, - {"/examples/itemviews/editabletreemodel/editabletreemodel.debug", "/examples/itemviews/editabletreemodel"}, - {"/examples/itemviews/simpledommodel/simpledommodel.debug", "/examples/itemviews/simpledommodel"}, - {"/examples/uitools/multipleinheritance/multipleinheritance.debug", "/examples/uitools/multipleinheritance"}, - {"/examples/uitools/textfinder/textfinder.debug", "/examples/uitools/textfinder"}, - {"/examples/script/helloscript/helloscript.debug", "/examples/script/helloscript"}, - {"/examples/script/marshal/marshal.debug", "/examples/script/marshal"}, - {"/examples/script/customclass/customclass.debug", "/examples/script/customclass"}, - {"/examples/script/calculator/calculator.debug", "/examples/script/calculator"}, - {"/examples/script/context2d/context2d.debug", "/examples/script/context2d"}, - {"/examples/script/defaultprototypes/defaultprototypes.debug", "/examples/script/defaultprototypes"}, - {"/examples/script/qscript/qscript.debug", "/examples/script/qscript"}, - {"/examples/script/tetrix/tetrix.debug", "/examples/script/tetrix"}, - {"/lib/libQtTest.so.4.5.0.debug", "/lib"}, - {"/lib/libQtDesignerComponents.so.4.5.0.debug", "/lib"}, - {"/lib/libQtScript.so.4.5.0.debug", "/lib"}, - {"/lib/libQtDesigner.so.4.5.0.debug", "/lib"}, - {"/lib/libQtGui.so.4.5.0.debug", "/lib"}, - {"/lib/libQtSvg.so.4.5.0.debug", "/lib"}, - {"/lib/libQtXml.so.4.5.0.debug", "/lib"}, - {"/lib/libQtCLucene.so.4.5.0.debug", "/lib"}, - {"/lib/libQtCore.so.4.5.0.debug", "/lib"}, - {"/lib/libQtDBus.so.4.5.0.debug", "/lib"}, - {"/lib/libQtXmlPatterns.so.4.5.0.debug", "/lib"}, - {"/lib/libQtHelp.so.4.5.0.debug", "/lib"}, - {"/lib/libQtSql.so.4.5.0.debug", "/lib"}, - {"/lib/libQtNetwork.so.4.5.0.debug", "/lib"}, - {"/lib/libQtOpenGL.so.4.5.0.debug", "/lib"}, - {"/lib/libQt3Support.so.4.5.0.debug", "/lib"}, - {"/lib/libQtAssistantClient.so.4.5.0.debug", "/lib"}, - {"/lib/libQtWebKit.so.4.5.0.debug", "/lib"}, - {"/demos/spreadsheet/spreadsheet.debug", "/demos/spreadsheet"}, - {"/demos/composition/composition.debug", "/demos/composition"}, - {"/demos/gradients/gradients.debug", "/demos/gradients"}, - {"/demos/deform/deform.debug", "/demos/deform"}, - {"/demos/embeddeddialogs/embeddeddialogs.debug", "/demos/embeddeddialogs"}, - {"/demos/textedit/textedit.debug", "/demos/textedit"}, - {"/demos/browser/browser.debug", "/demos/browser"}, - {"/demos/interview/interview.debug", "/demos/interview"}, - {"/demos/affine/affine.debug", "/demos/affine"}, - {"/demos/books/books.debug", "/demos/books"}, - {"/demos/chip/chip.debug", "/demos/chip"}, - {"/demos/pathstroke/pathstroke.debug", "/demos/pathstroke"}, - {"/demos/undo/undo.debug", "/demos/undo"}, - {"/demos/sqlbrowser/sqlbrowser.debug", "/demos/sqlbrowser"}, - {"/demos/mainwindow/mainwindow.debug", "/demos/mainwindow"}, - {"/bin/qcollectiongenerator.debug", "/bin"}, - {"/bin/qhelpconverter.debug", "/bin"}, - {"/bin/lupdate.debug", "/bin"}, - {"/bin/moc.debug", "/bin"}, - {"/bin/pixeltool.debug", "/bin"}, - {"/bin/qdbusviewer.debug", "/bin"}, - {"/bin/qtconfig.debug", "/bin"}, - {"/bin/qdbusxml2cpp.debug", "/bin"}, - {"/bin/qdbus.debug", "/bin"}, - {"/bin/uic3.debug", "/bin"}, - {"/bin/qhelpgenerator.debug", "/bin"}, - {"/bin/qt3to4.debug", "/bin"}, - {"/bin/xmlpatterns.debug", "/bin"}, - {"/bin/linguist.debug", "/bin"}, - {"/bin/uic.debug", "/bin"}, - {"/bin/qtdemo.debug", "/bin"}, - {"/bin/lrelease.debug", "/bin"}, + {"/plugins/codecs/libqkrcodecs.so", "/plugins/codecs"}, + {"/plugins/codecs/libqtwcodecs.so", "/plugins/codecs"}, + {"/plugins/codecs/libqcncodecs.so", "/plugins/codecs"}, + {"/plugins/codecs/libqjpcodecs.so", "/plugins/codecs"}, + {"/plugins/iconengines/libqsvgicon.so", "/plugins/iconengines"}, + {"/plugins/sqldrivers/libqsqlmysql.so", "/plugins/sqldrivers"}, + {"/plugins/sqldrivers/libqsqlite.so", "/plugins/sqldrivers"}, + {"/plugins/sqldrivers/libqsqlite2.so", "/plugins/sqldrivers"}, + {"/plugins/sqldrivers/libqsqlpsql.so", "/plugins/sqldrivers"}, + {"/plugins/imageformats/libqgif.so", "/plugins/imageformats"}, + {"/plugins/imageformats/libqtiff.so", "/plugins/imageformats"}, + {"/plugins/imageformats/libqsvg.so", "/plugins/imageformats"}, + {"/plugins/imageformats/libqjpeg.so", "/plugins/imageformats"}, + {"/plugins/imageformats/libqico.so", "/plugins/imageformats"}, + {"/plugins/imageformats/libqmng.so", "/plugins/imageformats"}, + {"/plugins/accessible/libqtaccessiblewidgets.so", "/plugins/accessible"}, + {"/plugins/accessible/libqtaccessiblecompatwidgets.so", "/plugins/accessible"}, + {"/plugins/designer/libcontainerextension.so", "/plugins/designer"}, + {"/plugins/designer/libtaskmenuextension.so", "/plugins/designer"}, + {"/plugins/designer/libqwebview.so", "/plugins/designer"}, + {"/plugins/designer/libcustomwidgetplugin.so", "/plugins/designer"}, + {"/plugins/designer/libarthurplugin.so", "/plugins/designer"}, + {"/plugins/designer/libqt3supportwidgets.so", "/plugins/designer"}, + {"/plugins/designer/libworldtimeclockplugin.so", "/plugins/designer"}, + {"/plugins/inputmethods/libqimsw-multi.so", "/plugins/inputmethods"}, + {"/plugins/script/libqtscriptdbus.so", "/plugins/script"}, + {"/examples/draganddrop/puzzle/puzzle", "/examples/draganddrop/puzzle"}, + {"/examples/draganddrop/dropsite/dropsite", "/examples/draganddrop/dropsite"}, + {"/examples/draganddrop/draggabletext/draggabletext", "/examples/draganddrop/draggabletext"}, + {"/examples/draganddrop/draggableicons/draggableicons", "/examples/draganddrop/draggableicons"}, + {"/examples/draganddrop/fridgemagnets/fridgemagnets", "/examples/draganddrop/fridgemagnets"}, + {"/examples/webkit/formextractor/formExtractor", "/examples/webkit/formextractor"}, + {"/examples/webkit/previewer/previewer", "/examples/webkit/previewer"}, + {"/examples/richtext/orderform/orderform", "/examples/richtext/orderform"}, + {"/examples/richtext/calendar/calendar", "/examples/richtext/calendar"}, + {"/examples/richtext/syntaxhighlighter/syntaxhighlighter", "/examples/richtext/syntaxhighlighter"}, + {"/examples/desktop/systray/systray", "/examples/desktop/systray"}, + {"/examples/desktop/screenshot/screenshot", "/examples/desktop/screenshot"}, + {"/examples/linguist/arrowpad/arrowpad", "/examples/linguist/arrowpad"}, + {"/examples/linguist/trollprint/trollprint", "/examples/linguist/trollprint"}, + {"/examples/linguist/hellotr/hellotr", "/examples/linguist/hellotr"}, + {"/examples/ipc/sharedmemory/sharedmemory", "/examples/ipc/sharedmemory"}, + {"/examples/ipc/localfortuneclient/localfortuneclient", "/examples/ipc/localfortuneclient"}, + {"/examples/ipc/localfortuneserver/localfortuneserver", "/examples/ipc/localfortuneserver"}, + {"/examples/threads/waitconditions/waitconditions", "/examples/threads/waitconditions"}, + {"/examples/threads/semaphores/semaphores", "/examples/threads/semaphores"}, + {"/examples/threads/mandelbrot/mandelbrot", "/examples/threads/mandelbrot"}, + {"/examples/dbus/listnames/listnames", "/examples/dbus/listnames"}, + {"/examples/dbus/pingpong/ping", "/examples/dbus/pingpong"}, + {"/examples/dbus/pingpong/pong", "/examples/dbus/pingpong"}, + {"/examples/dbus/complexpingpong/complexping", "/examples/dbus/complexpingpong"}, + {"/examples/dbus/complexpingpong/complexpong", "/examples/dbus/complexpingpong"}, + {"/examples/dbus/chat/dbus-chat", "/examples/dbus/chat"}, + {"/examples/dbus/remotecontrolledcar/car/car", "/examples/dbus/remotecontrolledcar/car"}, + {"/examples/dbus/remotecontrolledcar/controller/controller", "/examples/dbus/remotecontrolledcar/controller"}, + {"/examples/qtconcurrent/wordcount/wordcount", "/examples/qtconcurrent/wordcount"}, + {"/examples/qtconcurrent/runfunction/runfunction", "/examples/qtconcurrent/runfunction"}, + {"/examples/qtconcurrent/progressdialog/progressdialog", "/examples/qtconcurrent/progressdialog"}, + {"/examples/qtconcurrent/map/mapdemo", "/examples/qtconcurrent/map"}, + {"/examples/qtconcurrent/imagescaling/imagescaling", "/examples/qtconcurrent/imagescaling"}, + {"/examples/designer/calculatorform/calculatorform", "/examples/designer/calculatorform"}, + {"/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder", "/examples/designer/worldtimeclockbuilder"}, + {"/examples/designer/calculatorbuilder/calculatorbuilder", "/examples/designer/calculatorbuilder"}, + {"/examples/sql/drilldown/drilldown", "/examples/sql/drilldown"}, + {"/examples/sql/masterdetail/masterdetail", "/examples/sql/masterdetail"}, + {"/examples/sql/tablemodel/tablemodel", "/examples/sql/tablemodel"}, + {"/examples/sql/relationaltablemodel/relationaltablemodel", "/examples/sql/relationaltablemodel"}, + {"/examples/sql/querymodel/querymodel", "/examples/sql/querymodel"}, + {"/examples/sql/cachedtable/cachedtable", "/examples/sql/cachedtable"}, + {"/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel", "/examples/xmlpatterns/qobjectxmlmodel"}, + {"/examples/xmlpatterns/recipes/recipes", "/examples/xmlpatterns/recipes"}, + {"/examples/xmlpatterns/filetree/filetree", "/examples/xmlpatterns/filetree"}, + {"/examples/assistant/simpletextviewer/simpletextviewer", "/examples/assistant/simpletextviewer"}, + {"/examples/help/simpletextviewer/simpletextviewer", "/examples/help/simpletextviewer"}, + {"/examples/help/contextsensitivehelp/contextsensitivehelp", "/examples/help/contextsensitivehelp"}, + {"/examples/help/remotecontrol/remotecontrol", "/examples/help/remotecontrol"}, + {"/examples/opengl/grabber/grabber", "/examples/opengl/grabber"}, + {"/examples/opengl/framebufferobject2/framebufferobject2", "/examples/opengl/framebufferobject2"}, + {"/examples/opengl/hellogl/hellogl", "/examples/opengl/hellogl"}, + {"/examples/opengl/framebufferobject/framebufferobject", "/examples/opengl/framebufferobject"}, + {"/examples/opengl/overpainting/overpainting", "/examples/opengl/overpainting"}, + {"/examples/opengl/pbuffers2/pbuffers2", "/examples/opengl/pbuffers2"}, + {"/examples/opengl/2dpainting/2dpainting", "/examples/opengl/2dpainting"}, + {"/examples/opengl/pbuffers/pbuffers", "/examples/opengl/pbuffers"}, + {"/examples/opengl/samplebuffers/samplebuffers", "/examples/opengl/samplebuffers"}, + {"/examples/opengl/textures/textures", "/examples/opengl/textures"}, + {"/examples/graphicsview/elasticnodes/elasticnodes", "/examples/graphicsview/elasticnodes"}, + {"/examples/graphicsview/collidingmice/collidingmice", "/examples/graphicsview/collidingmice"}, + {"/examples/graphicsview/portedasteroids/portedasteroids", "/examples/graphicsview/portedasteroids"}, + {"/examples/graphicsview/padnavigator/padnavigator", "/examples/graphicsview/padnavigator"}, + {"/examples/graphicsview/portedcanvas/portedcanvas", "/examples/graphicsview/portedcanvas"}, + {"/examples/graphicsview/diagramscene/diagramscene", "/examples/graphicsview/diagramscene"}, + {"/examples/graphicsview/dragdroprobot/dragdroprobot", "/examples/graphicsview/dragdroprobot"}, + {"/examples/mainwindows/menus/menus", "/examples/mainwindows/menus"}, + {"/examples/mainwindows/mdi/mdi", "/examples/mainwindows/mdi"}, + {"/examples/mainwindows/sdi/sdi", "/examples/mainwindows/sdi"}, + {"/examples/mainwindows/recentfiles/recentfiles", "/examples/mainwindows/recentfiles"}, + {"/examples/mainwindows/application/application", "/examples/mainwindows/application"}, + {"/examples/mainwindows/dockwidgets/dockwidgets", "/examples/mainwindows/dockwidgets"}, + {"/examples/widgets/tablet/tablet", "/examples/widgets/tablet"}, + {"/examples/widgets/shapedclock/shapedclock", "/examples/widgets/shapedclock"}, + {"/examples/widgets/styles/styles", "/examples/widgets/styles"}, + {"/examples/widgets/icons/icons", "/examples/widgets/icons"}, + {"/examples/widgets/charactermap/charactermap", "/examples/widgets/charactermap"}, + {"/examples/widgets/sliders/sliders", "/examples/widgets/sliders"}, + {"/examples/widgets/tooltips/tooltips", "/examples/widgets/tooltips"}, + {"/examples/widgets/windowflags/windowflags", "/examples/widgets/windowflags"}, + {"/examples/widgets/stylesheet/stylesheet", "/examples/widgets/stylesheet"}, + {"/examples/widgets/spinboxes/spinboxes", "/examples/widgets/spinboxes"}, + {"/examples/widgets/validators/validators", "/examples/widgets/validators"}, + {"/examples/widgets/calculator/calculator", "/examples/widgets/calculator"}, + {"/examples/widgets/groupbox/groupbox", "/examples/widgets/groupbox"}, + {"/examples/widgets/scribble/scribble", "/examples/widgets/scribble"}, + {"/examples/widgets/imageviewer/imageviewer", "/examples/widgets/imageviewer"}, + {"/examples/widgets/digitalclock/digitalclock", "/examples/widgets/digitalclock"}, + {"/examples/widgets/lineedits/lineedits", "/examples/widgets/lineedits"}, + {"/examples/widgets/movie/movie", "/examples/widgets/movie"}, + {"/examples/widgets/calendarwidget/calendarwidget", "/examples/widgets/calendarwidget"}, + {"/examples/widgets/wiggly/wiggly", "/examples/widgets/wiggly"}, + {"/examples/widgets/analogclock/analogclock", "/examples/widgets/analogclock"}, + {"/examples/widgets/tetrix/tetrix", "/examples/widgets/tetrix"}, + {"/examples/painting/basicdrawing/basicdrawing", "/examples/painting/basicdrawing"}, + {"/examples/painting/svgviewer/svgviewer", "/examples/painting/svgviewer"}, + {"/examples/painting/fontsampler/fontsampler", "/examples/painting/fontsampler"}, + {"/examples/painting/concentriccircles/concentriccircles", "/examples/painting/concentriccircles"}, + {"/examples/painting/painterpaths/painterpaths", "/examples/painting/painterpaths"}, + {"/examples/painting/imagecomposition/imagecomposition", "/examples/painting/imagecomposition"}, + {"/examples/painting/transformations/transformations", "/examples/painting/transformations"}, + {"/examples/tools/customcompleter/customcompleter", "/examples/tools/customcompleter"}, + {"/examples/tools/codecs/codecs", "/examples/tools/codecs"}, + {"/examples/tools/plugandpaint/plugins/libpnp_extrafilters.so", "/examples/tools/plugandpaint/plugins"}, + {"/examples/tools/plugandpaint/plugandpaint", "/examples/tools/plugandpaint"}, + {"/examples/tools/regexp/regexp", "/examples/tools/regexp"}, + {"/examples/tools/undoframework/undoframework", "/examples/tools/undoframework"}, + {"/examples/tools/i18n/i18n", "/examples/tools/i18n"}, + {"/examples/tools/completer/completer", "/examples/tools/completer"}, + {"/examples/tools/echoplugin/plugin/libechoplugin.so", "/examples/tools/echoplugin/plugin"}, + {"/examples/tools/echoplugin/echoplugin", "/examples/tools/echoplugin"}, + {"/examples/tools/styleplugin/styles/libsimplestyleplugin.so", "/examples/tools/styleplugin/styles"}, + {"/examples/tools/styleplugin/styleplugin", "/examples/tools/styleplugin"}, + {"/examples/tools/treemodelcompleter/treemodelcompleter", "/examples/tools/treemodelcompleter"}, + {"/examples/tools/settingseditor/settingseditor", "/examples/tools/settingseditor"}, + {"/examples/network/securesocketclient/securesocketclient", "/examples/network/securesocketclient"}, + {"/examples/network/broadcastreceiver/broadcastreceiver", "/examples/network/broadcastreceiver"}, + {"/examples/network/downloadmanager/downloadmanager", "/examples/network/downloadmanager"}, + {"/examples/network/fortuneserver/fortuneserver", "/examples/network/fortuneserver"}, + {"/examples/network/loopback/loopback", "/examples/network/loopback"}, + {"/examples/network/http/http", "/examples/network/http"}, + {"/examples/network/ftp/ftp", "/examples/network/ftp"}, + {"/examples/network/download/download", "/examples/network/download"}, + {"/examples/network/fortuneclient/fortuneclient", "/examples/network/fortuneclient"}, + {"/examples/network/blockingfortuneclient/blockingfortuneclient", "/examples/network/blockingfortuneclient"}, + {"/examples/network/broadcastsender/broadcastsender", "/examples/network/broadcastsender"}, + {"/examples/network/threadedfortuneserver/threadedfortuneserver", "/examples/network/threadedfortuneserver"}, + {"/examples/network/chat/network-chat", "/examples/network/chat"}, + {"/examples/network/torrent/torrent", "/examples/network/torrent"}, + {"/examples/qtestlib/tutorial4/tutorial4", "/examples/qtestlib/tutorial4"}, + {"/examples/qtestlib/tutorial1/tutorial1", "/examples/qtestlib/tutorial1"}, + {"/examples/qtestlib/tutorial2/tutorial2", "/examples/qtestlib/tutorial2"}, + {"/examples/qtestlib/tutorial3/tutorial3", "/examples/qtestlib/tutorial3"}, + {"/examples/tutorials/tutorial/t3/t3", "/examples/tutorials/tutorial/t3"}, + {"/examples/tutorials/tutorial/t5/t5", "/examples/tutorials/tutorial/t5"}, + {"/examples/tutorials/tutorial/t2/t2", "/examples/tutorials/tutorial/t2"}, + {"/examples/tutorials/tutorial/t11/t11", "/examples/tutorials/tutorial/t11"}, + {"/examples/tutorials/tutorial/t6/t6", "/examples/tutorials/tutorial/t6"}, + {"/examples/tutorials/tutorial/t13/t13", "/examples/tutorials/tutorial/t13"}, + {"/examples/tutorials/tutorial/t12/t12", "/examples/tutorials/tutorial/t12"}, + {"/examples/tutorials/tutorial/t9/t9", "/examples/tutorials/tutorial/t9"}, + {"/examples/tutorials/tutorial/t1/t1", "/examples/tutorials/tutorial/t1"}, + {"/examples/tutorials/tutorial/t4/t4", "/examples/tutorials/tutorial/t4"}, + {"/examples/tutorials/tutorial/t14/t14", "/examples/tutorials/tutorial/t14"}, + {"/examples/tutorials/tutorial/t8/t8", "/examples/tutorials/tutorial/t8"}, + {"/examples/tutorials/tutorial/t7/t7", "/examples/tutorials/tutorial/t7"}, + {"/examples/tutorials/tutorial/t10/t10", "/examples/tutorials/tutorial/t10"}, + {"/examples/tutorials/addressbook/part2/part2", "/examples/tutorials/addressbook/part2"}, + {"/examples/tutorials/addressbook/part5/part5", "/examples/tutorials/addressbook/part5"}, + {"/examples/tutorials/addressbook/part3/part3", "/examples/tutorials/addressbook/part3"}, + {"/examples/tutorials/addressbook/part4/part4", "/examples/tutorials/addressbook/part4"}, + {"/examples/tutorials/addressbook/part7/part7", "/examples/tutorials/addressbook/part7"}, + {"/examples/tutorials/addressbook/part1/part1", "/examples/tutorials/addressbook/part1"}, + {"/examples/tutorials/addressbook/part6/part6", "/examples/tutorials/addressbook/part6"}, + {"/examples/xml/streambookmarks/streambookmarks", "/examples/xml/streambookmarks"}, + {"/examples/xml/saxbookmarks/saxbookmarks", "/examples/xml/saxbookmarks"}, + {"/examples/xml/xmlstreamlint/xmlstreamlint", "/examples/xml/xmlstreamlint"}, + {"/examples/xml/dombookmarks/dombookmarks", "/examples/xml/dombookmarks"}, + {"/examples/xml/rsslisting/rsslisting", "/examples/xml/rsslisting"}, + {"/examples/layouts/dynamiclayouts/dynamiclayouts", "/examples/layouts/dynamiclayouts"}, + {"/examples/layouts/flowlayout/flowlayout", "/examples/layouts/flowlayout"}, + {"/examples/layouts/borderlayout/borderlayout", "/examples/layouts/borderlayout"}, + {"/examples/layouts/basiclayouts/basiclayouts", "/examples/layouts/basiclayouts"}, + {"/examples/dialogs/trivialwizard/trivialwizard", "/examples/dialogs/trivialwizard"}, + {"/examples/dialogs/extension/extension", "/examples/dialogs/extension"}, + {"/examples/dialogs/standarddialogs/standarddialogs", "/examples/dialogs/standarddialogs"}, + {"/examples/dialogs/tabdialog/tabdialog", "/examples/dialogs/tabdialog"}, + {"/examples/dialogs/classwizard/classwizard", "/examples/dialogs/classwizard"}, + {"/examples/dialogs/findfiles/findfiles", "/examples/dialogs/findfiles"}, + {"/examples/dialogs/licensewizard/licensewizard", "/examples/dialogs/licensewizard"}, + {"/examples/dialogs/configdialog/configdialog", "/examples/dialogs/configdialog"}, + {"/examples/itemviews/coloreditorfactory/coloreditorfactory", "/examples/itemviews/coloreditorfactory"}, + {"/examples/itemviews/pixelator/pixelator", "/examples/itemviews/pixelator"}, + {"/examples/itemviews/simplewidgetmapper/simplewidgetmapper", "/examples/itemviews/simplewidgetmapper"}, + {"/examples/itemviews/puzzle/puzzle", "/examples/itemviews/puzzle"}, + {"/examples/itemviews/dirview/dirview", "/examples/itemviews/dirview"}, + {"/examples/itemviews/addressbook/addressbook", "/examples/itemviews/addressbook"}, + {"/examples/itemviews/spinboxdelegate/spinboxdelegate", "/examples/itemviews/spinboxdelegate"}, + {"/examples/itemviews/simpletreemodel/simpletreemodel", "/examples/itemviews/simpletreemodel"}, + {"/examples/itemviews/chart/chart", "/examples/itemviews/chart"}, + {"/examples/itemviews/basicsortfiltermodel/basicsortfiltermodel", "/examples/itemviews/basicsortfiltermodel"}, + {"/examples/itemviews/customsortfiltermodel/customsortfiltermodel", "/examples/itemviews/customsortfiltermodel"}, + {"/examples/itemviews/stardelegate/stardelegate", "/examples/itemviews/stardelegate"}, + {"/examples/itemviews/editabletreemodel/editabletreemodel", "/examples/itemviews/editabletreemodel"}, + {"/examples/itemviews/simpledommodel/simpledommodel", "/examples/itemviews/simpledommodel"}, + {"/examples/uitools/multipleinheritance/multipleinheritance", "/examples/uitools/multipleinheritance"}, + {"/examples/uitools/textfinder/textfinder", "/examples/uitools/textfinder"}, + {"/examples/script/helloscript/helloscript", "/examples/script/helloscript"}, + {"/examples/script/marshal/marshal", "/examples/script/marshal"}, + {"/examples/script/customclass/customclass", "/examples/script/customclass"}, + {"/examples/script/calculator/calculator", "/examples/script/calculator"}, + {"/examples/script/context2d/context2d", "/examples/script/context2d"}, + {"/examples/script/defaultprototypes/defaultprototypes", "/examples/script/defaultprototypes"}, + {"/examples/script/qscript/qscript", "/examples/script/qscript"}, + {"/examples/script/tetrix/tetrix", "/examples/script/tetrix"}, + {"/lib/libQtTest.so.4.5.0", "/lib"}, + {"/lib/libQtDesignerComponents.so.4.5.0", "/lib"}, + {"/lib/libQtScript.so.4.5.0", "/lib"}, + {"/lib/libQtDesigner.so.4.5.0", "/lib"}, + {"/lib/libQtGui.so.4.5.0", "/lib"}, + {"/lib/libQtSvg.so.4.5.0", "/lib"}, + {"/lib/libQtXml.so.4.5.0", "/lib"}, + {"/lib/libQtCLucene.so.4.5.0", "/lib"}, + {"/lib/libQtCore.so.4.5.0", "/lib"}, + {"/lib/libQtDBus.so.4.5.0", "/lib"}, + {"/lib/libQtXmlPatterns.so.4.5.0", "/lib"}, + {"/lib/libQtHelp.so.4.5.0", "/lib"}, + {"/lib/libQtSql.so.4.5.0", "/lib"}, + {"/lib/libQtNetwork.so.4.5.0", "/lib"}, + {"/lib/libQtOpenGL.so.4.5.0", "/lib"}, + {"/lib/libQt3Support.so.4.5.0", "/lib"}, + {"/lib/libQtAssistantClient.so.4.5.0", "/lib"}, + {"/lib/libQtWebKit.so.4.5.0", "/lib"}, + {"/demos/spreadsheet/spreadsheet", "/demos/spreadsheet"}, + {"/demos/composition/composition", "/demos/composition"}, + {"/demos/gradients/gradients", "/demos/gradients"}, + {"/demos/deform/deform", "/demos/deform"}, + {"/demos/embeddeddialogs/embeddeddialogs", "/demos/embeddeddialogs"}, + {"/demos/textedit/textedit", "/demos/textedit"}, + {"/demos/browser/browser", "/demos/browser"}, + {"/demos/interview/interview", "/demos/interview"}, + {"/demos/affine/affine", "/demos/affine"}, + {"/demos/books/books", "/demos/books"}, + {"/demos/chip/chip", "/demos/chip"}, + {"/demos/pathstroke/pathstroke", "/demos/pathstroke"}, + {"/demos/undo/undo", "/demos/undo"}, + {"/demos/sqlbrowser/sqlbrowser", "/demos/sqlbrowser"}, + {"/demos/mainwindow/mainwindow", "/demos/mainwindow"}, + {"/bin/qcollectiongenerator", "/bin"}, + {"/bin/qhelpconverter", "/bin"}, + {"/bin/lupdate", "/bin"}, + {"/bin/moc", "/bin"}, + {"/bin/pixeltool", "/bin"}, + {"/bin/qdbusviewer", "/bin"}, + {"/bin/qtconfig", "/bin"}, + {"/bin/qdbusxml2cpp", "/bin"}, + {"/bin/qdbus", "/bin"}, + {"/bin/uic3", "/bin"}, + {"/bin/qhelpgenerator", "/bin"}, + {"/bin/qt3to4", "/bin"}, + {"/bin/xmlpatterns", "/bin"}, + {"/bin/linguist", "/bin"}, + {"/bin/uic", "/bin"}, + {"/bin/qtdemo", "/bin"}, + {"/bin/lrelease", "/bin"}, {"/bin/qmake", "/bin"}, - {"/bin/assistant.debug", "/bin"}, - {"/bin/rcc.debug", "/bin"}, - {"/bin/designer.debug", "/bin"}, - {"/bin/assistant_adp.debug", "/bin"}, - {"/bin/qdbuscpp2xml.debug", "/bin"}, + {"/bin/assistant", "/bin"}, + {"/bin/rcc", "/bin"}, + {"/bin/designer", "/bin"}, + {"/bin/assistant_adp", "/bin"}, + {"/bin/qdbuscpp2xml", "/bin"}, - {"/plugins/codecs/libqkrcodecs.so.debug", "/src/plugins/codecs/kr"}, - {"/plugins/codecs/libqtwcodecs.so.debug", "/src/plugins/codecs/tw"}, - {"/plugins/codecs/libqcncodecs.so.debug", "/src/plugins/codecs/cn"}, - {"/plugins/codecs/libqjpcodecs.so.debug", "/src/plugins/codecs/jp"}, - {"/plugins/iconengines/libqsvgicon.so.debug", "/src/plugins/iconengines/svgiconengine"}, - {"/plugins/sqldrivers/libqsqlmysql.so.debug", "/src/plugins/sqldrivers/mysql"}, - {"/plugins/sqldrivers/libqsqlite.so.debug", "/src/plugins/sqldrivers/sqlite"}, - {"/plugins/sqldrivers/libqsqlite2.so.debug", "/src/plugins/sqldrivers/sqlite2"}, - {"/plugins/sqldrivers/libqsqlpsql.so.debug", "/src/plugins/sqldrivers/psql"}, - {"/plugins/imageformats/libqgif.so.debug", "/src/plugins/imageformats/gif"}, - {"/plugins/imageformats/libqtiff.so.debug", "/src/plugins/imageformats/tiff"}, - {"/plugins/imageformats/libqsvg.so.debug", "/src/plugins/imageformats/svg"}, - {"/plugins/imageformats/libqjpeg.so.debug", "/src/plugins/imageformats/jpeg"}, - {"/plugins/imageformats/libqico.so.debug", "/src/plugins/imageformats/ico"}, - {"/plugins/imageformats/libqmng.so.debug", "/src/plugins/imageformats/mng"}, - {"/plugins/accessible/libqtaccessiblewidgets.so.debug", "/src/plugins/accessible/widgets"}, - {"/plugins/accessible/libqtaccessiblecompatwidgets.so.debug", "/src/plugins/accessible/compat"}, - {"/plugins/designer/libcontainerextension.so.debug", "/examples/designer/containerextension"}, - {"/plugins/designer/libtaskmenuextension.so.debug", "/examples/designer/taskmenuextension"}, - {"/plugins/designer/libqwebview.so.debug", "/tools/designer/src/plugins/qwebview"}, - {"/plugins/designer/libcustomwidgetplugin.so.debug", "/examples/designer/customwidgetplugin"}, - {"/plugins/designer/libarthurplugin.so.debug", "/demos/arthurplugin"}, - {"/plugins/designer/libarthurplugin.so.debug", "/demos/shared"}, - {"/plugins/designer/libqt3supportwidgets.so.debug", "/tools/designer/src/plugins/widgets"}, - {"/plugins/designer/libworldtimeclockplugin.so.debug", "/examples/designer/worldtimeclockplugin"}, - {"/plugins/inputmethods/libqimsw-multi.so.debug", "/src/plugins/inputmethods/imsw-multi"}, - {"/plugins/script/libqtscriptdbus.so.debug", "/src/plugins/script/qtdbus"}, + {"/plugins/codecs/libqkrcodecs.so", "/src/plugins/codecs/kr"}, + {"/plugins/codecs/libqtwcodecs.so", "/src/plugins/codecs/tw"}, + {"/plugins/codecs/libqcncodecs.so", "/src/plugins/codecs/cn"}, + {"/plugins/codecs/libqjpcodecs.so", "/src/plugins/codecs/jp"}, + {"/plugins/iconengines/libqsvgicon.so", "/src/plugins/iconengines/svgiconengine"}, + {"/plugins/sqldrivers/libqsqlmysql.so", "/src/plugins/sqldrivers/mysql"}, + {"/plugins/sqldrivers/libqsqlite.so", "/src/plugins/sqldrivers/sqlite"}, + {"/plugins/sqldrivers/libqsqlite2.so", "/src/plugins/sqldrivers/sqlite2"}, + {"/plugins/sqldrivers/libqsqlpsql.so", "/src/plugins/sqldrivers/psql"}, + {"/plugins/imageformats/libqgif.so", "/src/plugins/imageformats/gif"}, + {"/plugins/imageformats/libqtiff.so", "/src/plugins/imageformats/tiff"}, + {"/plugins/imageformats/libqsvg.so", "/src/plugins/imageformats/svg"}, + {"/plugins/imageformats/libqjpeg.so", "/src/plugins/imageformats/jpeg"}, + {"/plugins/imageformats/libqico.so", "/src/plugins/imageformats/ico"}, + {"/plugins/imageformats/libqmng.so", "/src/plugins/imageformats/mng"}, + {"/plugins/accessible/libqtaccessiblewidgets.so", "/src/plugins/accessible/widgets"}, + {"/plugins/accessible/libqtaccessiblecompatwidgets.so", "/src/plugins/accessible/compat"}, + {"/plugins/designer/libcontainerextension.so", "/examples/designer/containerextension"}, + {"/plugins/designer/libtaskmenuextension.so", "/examples/designer/taskmenuextension"}, + {"/plugins/designer/libqwebview.so", "/tools/designer/src/plugins/qwebview"}, + {"/plugins/designer/libcustomwidgetplugin.so", "/examples/designer/customwidgetplugin"}, + {"/plugins/designer/libarthurplugin.so", "/demos/arthurplugin"}, + {"/plugins/designer/libarthurplugin.so", "/demos/shared"}, + {"/plugins/designer/libqt3supportwidgets.so", "/tools/designer/src/plugins/widgets"}, + {"/plugins/designer/libworldtimeclockplugin.so", "/examples/designer/worldtimeclockplugin"}, + {"/plugins/inputmethods/libqimsw-multi.so", "/src/plugins/inputmethods/imsw-multi"}, + {"/plugins/script/libqtscriptdbus.so", "/src/plugins/script/qtdbus"}, - {"/examples/dbus/chat/dbus-chat.debug", "/examples/dbus/dbus-chat"}, - {"/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder.debug", "/tools/designer/src/uitools"}, - {"/examples/designer/calculatorbuilder/calculatorbuilder.debug", "/tools/designer/src/uitools"}, - {"/examples/tools/plugandpaint/plugins/libpnp_extrafilters.so.debug", "/examples/tools/plugandpaintplugins/extrafilters"}, - {"/examples/tools/styleplugin/styles/libsimplestyleplugin.so.debug", "/examples/tools/styleplugin/plugin"}, - {"/examples/network/chat/network-chat.debug", "/examples/network/network-chat"}, - {"/examples/uitools/textfinder/textfinder.debug", "/tools/designer/src/uitools"}, - {"/examples/script/calculator/calculator.debug", "/tools/designer/src/uitools"}, - {"/examples/script/tetrix/tetrix.debug", "/tools/designer/src/uitools"}, + {"/examples/dbus/chat/dbus-chat", "/examples/dbus/dbus-chat"}, + {"/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder", "/tools/designer/src/uitools"}, + {"/examples/designer/calculatorbuilder/calculatorbuilder", "/tools/designer/src/uitools"}, + {"/examples/tools/plugandpaint/plugins/libpnp_extrafilters.so", "/examples/tools/plugandpaintplugins/extrafilters"}, + {"/examples/tools/styleplugin/styles/libsimplestyleplugin.so", "/examples/tools/styleplugin/plugin"}, + {"/examples/network/chat/network-chat", "/examples/network/network-chat"}, + {"/examples/uitools/textfinder/textfinder", "/tools/designer/src/uitools"}, + {"/examples/script/calculator/calculator", "/tools/designer/src/uitools"}, + {"/examples/script/tetrix/tetrix", "/tools/designer/src/uitools"}, - {"/lib/libQtTest.so.4.5.0.debug", "/src/testlib"}, - {"/lib/libQtDesignerComponents.so.4.5.0.debug", "/tools/designer/src/components"}, - {"/lib/libQtScript.so.4.5.0.debug", "/src/script"}, - {"/lib/libQtDesigner.so.4.5.0.debug", "/tools/designer/src/lib"}, - {"/lib/libQtGui.so.4.5.0.debug", "/src/gui"}, - {"/lib/libQtSvg.so.4.5.0.debug", "/src/svg"}, - {"/lib/libQtXml.so.4.5.0.debug", "/src/xml"}, - {"/lib/libQtCLucene.so.4.5.0.debug", "/tools/assistant/lib/fulltextsearch"}, - {"/lib/libQtCore.so.4.5.0.debug", "/src/corelib"}, - {"/lib/libQtDBus.so.4.5.0.debug", "/src/dbus"}, - {"/lib/libQtXmlPatterns.so.4.5.0.debug", "/src/xmlpatterns"}, - {"/lib/libQtHelp.so.4.5.0.debug", "/tools/assistant/lib"}, - {"/lib/libQtSql.so.4.5.0.debug", "/src/sql"}, - {"/lib/libQtNetwork.so.4.5.0.debug", "/src/network"}, - {"/lib/libQtOpenGL.so.4.5.0.debug", "/src/opengl"}, - {"/lib/libQt3Support.so.4.5.0.debug", "/src/qt3support"}, - {"/lib/libQtAssistantClient.so.4.5.0.debug", "/tools/assistant/compat/lib"}, - {"/lib/libQtWebKit.so.4.5.0.debug", "/src/3rdparty/webkit/WebCore"}, + {"/lib/libQtTest.so.4.5.0", "/src/testlib"}, + {"/lib/libQtDesignerComponents.so.4.5.0", "/tools/designer/src/components"}, + {"/lib/libQtScript.so.4.5.0", "/src/script"}, + {"/lib/libQtDesigner.so.4.5.0", "/tools/designer/src/lib"}, + {"/lib/libQtGui.so.4.5.0", "/src/gui"}, + {"/lib/libQtSvg.so.4.5.0", "/src/svg"}, + {"/lib/libQtXml.so.4.5.0", "/src/xml"}, + {"/lib/libQtCLucene.so.4.5.0", "/tools/assistant/lib/fulltextsearch"}, + {"/lib/libQtCore.so.4.5.0", "/src/corelib"}, + {"/lib/libQtDBus.so.4.5.0", "/src/dbus"}, + {"/lib/libQtXmlPatterns.so.4.5.0", "/src/xmlpatterns"}, + {"/lib/libQtHelp.so.4.5.0", "/tools/assistant/lib"}, + {"/lib/libQtSql.so.4.5.0", "/src/sql"}, + {"/lib/libQtNetwork.so.4.5.0", "/src/network"}, + {"/lib/libQtOpenGL.so.4.5.0", "/src/opengl"}, + {"/lib/libQt3Support.so.4.5.0", "/src/qt3support"}, + {"/lib/libQtAssistantClient.so.4.5.0", "/tools/assistant/compat/lib"}, + {"/lib/libQtWebKit.so.4.5.0", "/src/3rdparty/webkit/WebCore"}, - {"/demos/composition/composition.debug", "/demos/shared"}, - {"/demos/gradients/gradients.debug", "/demos/shared"}, - {"/demos/deform/deform.debug", "/demos/shared"}, - {"/demos/browser/browser.debug", "/tools/designer/src/uitools"}, - {"/demos/affine/affine.debug", "/demos/shared"}, - {"/demos/pathstroke/pathstroke.debug", "/demos/shared"}, + {"/demos/composition/composition", "/demos/shared"}, + {"/demos/gradients/gradients", "/demos/shared"}, + {"/demos/deform/deform", "/demos/shared"}, + {"/demos/browser/browser", "/tools/designer/src/uitools"}, + {"/demos/affine/affine", "/demos/shared"}, + {"/demos/pathstroke/pathstroke", "/demos/shared"}, - {"/bin/qcollectiongenerator.debug", "/tools/assistant/tools/qcollectiongenerator"}, - {"/bin/qhelpconverter.debug", "/tools/assistant/tools/qhelpconverter"}, - {"/bin/lupdate.debug", "/tools/linguist/lupdate"}, - {"/bin/moc.debug", "/src/tools/moc"}, - {"/bin/pixeltool.debug", "/tools/pixeltool"}, - {"/bin/qdbusviewer.debug", "/tools/qdbus/qdbusviewer"}, - {"/bin/qtconfig.debug", "/tools/qtconfig"}, - {"/bin/qdbusxml2cpp.debug", "/tools/qdbus/qdbusxml2cpp"}, - {"/bin/qdbus.debug", "/tools/qdbus/qdbus"}, - {"/bin/uic3.debug", "/src/tools/uic3"}, - {"/bin/qhelpgenerator.debug", "/tools/assistant/tools/qhelpgenerator"}, - {"/bin/qt3to4.debug", "/tools/porting/src"}, - {"/bin/xmlpatterns.debug", "/tools/xmlpatterns"}, - {"/bin/linguist.debug", "/tools/designer/src/uitools"}, - {"/bin/linguist.debug", "/tools/linguist/linguist"}, - {"/bin/uic.debug", "/src/tools/uic"}, - {"/bin/qtdemo.debug", "/demos/qtdemo"}, - {"/bin/lrelease.debug", "/tools/linguist/lrelease"}, + {"/bin/qcollectiongenerator", "/tools/assistant/tools/qcollectiongenerator"}, + {"/bin/qhelpconverter", "/tools/assistant/tools/qhelpconverter"}, + {"/bin/lupdate", "/tools/linguist/lupdate"}, + {"/bin/moc", "/src/tools/moc"}, + {"/bin/pixeltool", "/tools/pixeltool"}, + {"/bin/qdbusviewer", "/tools/qdbus/qdbusviewer"}, + {"/bin/qtconfig", "/tools/qtconfig"}, + {"/bin/qdbusxml2cpp", "/tools/qdbus/qdbusxml2cpp"}, + {"/bin/qdbus", "/tools/qdbus/qdbus"}, + {"/bin/uic3", "/src/tools/uic3"}, + {"/bin/qhelpgenerator", "/tools/assistant/tools/qhelpgenerator"}, + {"/bin/qt3to4", "/tools/porting/src"}, + {"/bin/xmlpatterns", "/tools/xmlpatterns"}, + {"/bin/linguist", "/tools/designer/src/uitools"}, + {"/bin/linguist", "/tools/linguist/linguist"}, + {"/bin/uic", "/src/tools/uic"}, + {"/bin/qtdemo", "/demos/qtdemo"}, + {"/bin/lrelease", "/tools/linguist/lrelease"}, {"/bin/qmake", "/qmake"}, - {"/bin/assistant.debug", "/tools/assistant/tools/assistant"}, - {"/bin/rcc.debug", "/src/tools/rcc"}, - {"/bin/designer.debug", "/tools/designer/src/designer"}, - {"/bin/assistant_adp.debug", "/tools/assistant/compat"}, - {"/bin/qdbuscpp2xml.debug", "/tools/qdbus/qdbuscpp2xml"} + {"/bin/assistant", "/tools/assistant/tools/assistant"}, + {"/bin/rcc", "/src/tools/rcc"}, + {"/bin/designer", "/tools/designer/src/designer"}, + {"/bin/assistant_adp", "/tools/assistant/compat"}, + {"/bin/qdbuscpp2xml", "/tools/qdbus/qdbuscpp2xml"} #endif }; From 0e25fb6ec5b2f74918753009f801d14a69e81a32 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 24 Feb 2009 16:23:50 +0100 Subject: [PATCH 04/12] make initial breakpoint finding work on mac unlike the upstream gdb, the mac one gives an MI response to "info target" when in MI mode. --- src/plugins/debugger/gdbengine.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 151b269c7e7..d6396563aee 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -1688,6 +1688,17 @@ void GdbEngine::continueInferior() void GdbEngine::handleStart(const GdbResultRecord &response) { if (response.resultClass == GdbResultDone) { +#ifdef Q_OS_MAC + QString addr = response.data.findChild("section-info").findChild("entry-point").data(); + if (!addr.isEmpty()) { + sendCommand("tbreak *" + addr); + m_waitingForFirstBreakpointToBeHit = true; + qq->notifyInferiorRunningRequested(); + sendCommand("-exec-run"); + } else { + debugMessage("CANNOT OBTAIN START ADDRESS"); + } +#else // [some leading stdout here] // stdout:&" Entry point: 0x80831f0 0x08048134 - 0x08048147 is .interp\n" // [some trailing stdout here] @@ -1702,6 +1713,7 @@ void GdbEngine::handleStart(const GdbResultRecord &response) } else { debugMessage("PARSING START ADDRESS FAILED: " + msg); } +#endif } else if (response.resultClass == GdbResultError) { debugMessage("FETCHING START ADDRESS FAILED: " + response.toString()); } From 6cf8628cae5744168eda089f38bdee23f4a7add6 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 24 Feb 2009 17:06:02 +0100 Subject: [PATCH 05/12] unbreak mac debugging again setting the initial breakpoint at the entry point wreaks havoc, so set it at main() instead. this will miss any breakpoints in global ctors and (currently) makes it impossible to set an actual breakpoint at main. --- src/plugins/debugger/gdbengine.cpp | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index d6396563aee..25879e6a0ea 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -1664,8 +1664,14 @@ bool GdbEngine::startDebugger() sendCommand("-exec-arguments " + q->m_processArgs.join(" ")); #ifndef Q_OS_MAC sendCommand("set auto-solib-add off"); - #endif sendCommand("info target", GdbStart); + #else + // On MacOS, breaking in at the entry point wreaks havoc. + sendCommand("tbreak main"); + m_waitingForFirstBreakpointToBeHit = true; + qq->notifyInferiorRunningRequested(); + sendCommand("-exec-run"); + #endif } // set all to "pending" @@ -1687,18 +1693,10 @@ void GdbEngine::continueInferior() void GdbEngine::handleStart(const GdbResultRecord &response) { - if (response.resultClass == GdbResultDone) { #ifdef Q_OS_MAC - QString addr = response.data.findChild("section-info").findChild("entry-point").data(); - if (!addr.isEmpty()) { - sendCommand("tbreak *" + addr); - m_waitingForFirstBreakpointToBeHit = true; - qq->notifyInferiorRunningRequested(); - sendCommand("-exec-run"); - } else { - debugMessage("CANNOT OBTAIN START ADDRESS"); - } + Q_UNUSED(response); #else + if (response.resultClass == GdbResultDone) { // [some leading stdout here] // stdout:&" Entry point: 0x80831f0 0x08048134 - 0x08048147 is .interp\n" // [some trailing stdout here] @@ -1713,10 +1711,10 @@ void GdbEngine::handleStart(const GdbResultRecord &response) } else { debugMessage("PARSING START ADDRESS FAILED: " + msg); } -#endif } else if (response.resultClass == GdbResultError) { debugMessage("FETCHING START ADDRESS FAILED: " + response.toString()); } +#endif } void GdbEngine::handleAttach() From 651849706b296309fbca97bfab3354490c170b4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Tue, 24 Feb 2009 17:24:16 +0100 Subject: [PATCH 06/12] Don't forget about libQtScriptTools Wasn't being patched up. --- src/tools/qtlibspatcher/qtlibspatchermain.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/tools/qtlibspatcher/qtlibspatchermain.cpp b/src/tools/qtlibspatcher/qtlibspatchermain.cpp index fe9dc6757ab..5ead9a0b4db 100644 --- a/src/tools/qtlibspatcher/qtlibspatchermain.cpp +++ b/src/tools/qtlibspatcher/qtlibspatchermain.cpp @@ -177,6 +177,7 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath) {"/bin/QtNetworkd4.dll", "/src/network/"}, {"/bin/QtOpenGLd4.dll", "/src/opengl/"}, {"/bin/QtScriptd4.dll", "/src/script/"}, + {"/bin/QtScriptToolsd4.dll", "/src/scripttools/"}, {"/bin/QtSqld4.dll", "/src/sql/"}, {"/bin/QtSvgd4.dll", "/src/svg/"}, {"/bin/QtTestd4.dll", "/src/testlib/"}, @@ -190,6 +191,7 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath) {"/lib/QtNetworkd4.dll", "/src/network/"}, {"/lib/QtOpenGLd4.dll", "/src/opengl/"}, {"/lib/QtScriptd4.dll", "/src/script/"}, + {"/lib/QtScriptToolsd4.dll", "/src/scripttools/"}, {"/lib/QtSqld4.dll", "/src/sql/"}, {"/lib/QtSvgd4.dll", "/src/svg/"}, {"/lib/QtTestd4.dll", "/src/testlib/"}, @@ -440,6 +442,7 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath) {"/lib/libQtTest.so.4.5.0", "/lib"}, {"/lib/libQtDesignerComponents.so.4.5.0", "/lib"}, {"/lib/libQtScript.so.4.5.0", "/lib"}, + {"/lib/libQtScriptTools.so.4.5.0", "/lib"}, {"/lib/libQtDesigner.so.4.5.0", "/lib"}, {"/lib/libQtGui.so.4.5.0", "/lib"}, {"/lib/libQtSvg.so.4.5.0", "/lib"}, @@ -536,6 +539,7 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath) {"/lib/libQtTest.so.4.5.0", "/src/testlib"}, {"/lib/libQtDesignerComponents.so.4.5.0", "/tools/designer/src/components"}, {"/lib/libQtScript.so.4.5.0", "/src/script"}, + {"/lib/libQtScriptTools.so.4.5.0", "/src/scripttools"}, {"/lib/libQtDesigner.so.4.5.0", "/tools/designer/src/lib"}, {"/lib/libQtGui.so.4.5.0", "/src/gui"}, {"/lib/libQtSvg.so.4.5.0", "/src/svg"}, @@ -655,6 +659,7 @@ const char * const textFileFileNames[] = "/lib/libQtNetwork.la", "/lib/libQtOpenGL.la", "/lib/libQtScript.la", + "/lib/libQtScriptTools.la", "/lib/libQtSql.la", "/lib/libQtSvg.la", "/lib/libQtTest.la", @@ -676,6 +681,7 @@ const char * const textFileFileNames[] = "/lib/libQtNetwork.prl", "/lib/libQtOpenGL.prl", "/lib/libQtScript.prl", + "/lib/libQtScriptTools.prl", "/lib/libQtSql.prl", "/lib/libQtSvg.prl", "/lib/libQtTest.prl", @@ -697,6 +703,7 @@ const char * const textFileFileNames[] = "/lib/pkgconfig/QtNetwork.pc", "/lib/pkgconfig/QtOpenGL.pc", "/lib/pkgconfig/QtScript.pc", + "/lib/pkgconfig/QtScriptTools.pc", "/lib/pkgconfig/QtSql.pc", "/lib/pkgconfig/QtSvg.pc", "/lib/pkgconfig/QtTest.pc", From 86441ba72d997cc7800636a9ebeb0145a1437d27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Tue, 24 Feb 2009 19:20:35 +0100 Subject: [PATCH 07/12] Use the insert/replace functionality of the binary patcher Hasn't received a lot of testing, so will have to see whether this works in practice. --- src/tools/qtlibspatcher/binpatch.cpp | 12 +- src/tools/qtlibspatcher/qtlibspatchermain.cpp | 759 ++++++++---------- 2 files changed, 335 insertions(+), 436 deletions(-) diff --git a/src/tools/qtlibspatcher/binpatch.cpp b/src/tools/qtlibspatcher/binpatch.cpp index 43e5fd84c8e..1f6f76251bd 100644 --- a/src/tools/qtlibspatcher/binpatch.cpp +++ b/src/tools/qtlibspatcher/binpatch.cpp @@ -36,9 +36,9 @@ #include #include - + #include "binpatch.h" - + #ifdef Q_OS_WIN # define strcasecmp _stricmp # define strncasecmp _strnicmp @@ -112,7 +112,7 @@ bool BinPatch::patchHelper(char *inbuffer, const char *oldstr, const char *newst write = false; break; } - + long oldsize = -1; if (useLength) { //VC60 oldsize = (unsigned char)(*(inbuffer-1)); @@ -125,7 +125,7 @@ bool BinPatch::patchHelper(char *inbuffer, const char *oldstr, const char *newst } oldsize = getBufferStringLength(inbuffer, inend); - + if (oldsize < 0) { *rw = (long)(inend-inbuffer); //rewind, entire string not in buffer break; @@ -210,8 +210,8 @@ bool BinPatch::patch(const char *oldstr, const char *newstr) break; len = fread(data, sizeof(char), sizeof(data), input); } while(!(feof(input) && (len <= oldlen || len <= newlen))); - + fclose(input); - + return true; } diff --git a/src/tools/qtlibspatcher/qtlibspatchermain.cpp b/src/tools/qtlibspatcher/qtlibspatchermain.cpp index 5ead9a0b4db..45917db2ac6 100644 --- a/src/tools/qtlibspatcher/qtlibspatchermain.cpp +++ b/src/tools/qtlibspatcher/qtlibspatchermain.cpp @@ -170,423 +170,332 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath) const char *sourceLocation; } libraries[] = { #ifdef Q_OS_WIN - {"/bin/Qt3Supportd4.dll", "/src/qt3support/"}, - {"/bin/QtCored4.dll", "/src/corelib/"}, - {"/bin/QtGuid4.dll", "/src/gui/"}, - {"/bin/QtHelpd4.dll", "/tools/assistant/lib/"}, - {"/bin/QtNetworkd4.dll", "/src/network/"}, - {"/bin/QtOpenGLd4.dll", "/src/opengl/"}, - {"/bin/QtScriptd4.dll", "/src/script/"}, - {"/bin/QtScriptToolsd4.dll", "/src/scripttools/"}, - {"/bin/QtSqld4.dll", "/src/sql/"}, - {"/bin/QtSvgd4.dll", "/src/svg/"}, - {"/bin/QtTestd4.dll", "/src/testlib/"}, - {"/bin/QtWebKitd4.dll", "/src/3rdparty/webkit/WebCore/"}, - {"/bin/QtXmld4.dll", "/src/xml/"}, - {"/bin/QtXmlPatternsd4.dll", "/src/xmlpatterns/"}, - {"/lib/Qt3Supportd4.dll", "/src/qt3support/"}, - {"/lib/QtCored4.dll", "/src/corelib/"}, - {"/lib/QtGuid4.dll", "/src/gui/"}, - {"/lib/QtHelpd4.dll", "/tools/assistant/lib/"}, - {"/lib/QtNetworkd4.dll", "/src/network/"}, - {"/lib/QtOpenGLd4.dll", "/src/opengl/"}, - {"/lib/QtScriptd4.dll", "/src/script/"}, - {"/lib/QtScriptToolsd4.dll", "/src/scripttools/"}, - {"/lib/QtSqld4.dll", "/src/sql/"}, - {"/lib/QtSvgd4.dll", "/src/svg/"}, - {"/lib/QtTestd4.dll", "/src/testlib/"}, - {"/lib/QtWebKitd4.dll", "/src/3rdparty/webkit/WebCore/"}, - {"/lib/QtXmld4.dll", "/src/xml/"}, - {"/lib/QtXmlPatternsd4.dll", "/src/xmlpatterns/"}, - {"/plugins/accessible/qtaccessiblecompatwidgetsd4.dll", "/src/plugins/accessible/compat/"}, - {"/plugins/accessible/qtaccessiblewidgetsd4.dll", "/src/plugins/accessible/widgets/"}, - {"/plugins/codecs/qcncodecsd4.dll", "/src/plugins/codecs/cn/"}, - {"/plugins/codecs/qjpcodecsd4.dll", "/src/plugins/codecs/jp/"}, - {"/plugins/codecs/qkrcodecsd4.dll", "/src/plugins/codecs/kr/"}, - {"/plugins/codecs/qtwcodecsd4.dll", "/src/plugins/codecs/tw/"}, - {"/plugins/iconengines/qsvgicond4.dll", "/src/plugins/iconengines/svgiconengine/"}, - {"/plugins/imageformats/qgifd4.dll", "/src/plugins/imageformats/gif/"}, - {"/plugins/imageformats/qjpegd4.dll", "/src/plugins/imageformats/jpeg/"}, - {"/plugins/imageformats/qmngd4.dll", "/src/plugins/imageformats/mng/"}, - {"/plugins/imageformats/qsvgd4.dll", "/src/plugins/imageformats/svg/"}, - {"/plugins/imageformats/qtiffd4.dll", "/src/plugins/imageformats/tiff/"}, - {"/plugins/sqldrivers/qsqlited4.dll", "/src/plugins/sqldrivers/sqlite/"}, -// {"/plugins/sqldrivers/qsqlodbcd4.dll", "/src/plugins/sqldrivers/odbc/"} + { "/bin/Qt3Supportd4.dll" }, + { "/bin/QtCored4.dll" }, + { "/bin/QtGuid4.dll" }, + { "/bin/QtHelpd4.dll" }, + { "/bin/QtNetworkd4.dll" }, + { "/bin/QtOpenGLd4.dll" }, + { "/bin/QtScriptd4.dll" }, + { "/bin/QtScriptToolsd4.dll" }, + { "/bin/QtSqld4.dll" }, + { "/bin/QtSvgd4.dll" }, + { "/bin/QtTestd4.dll" }, + { "/bin/QtWebKitd4.dll" }, + { "/bin/QtXmld4.dll" }, + { "/bin/QtXmlPatternsd4.dll" }, + { "/lib/Qt3Supportd4.dll" }, + { "/lib/QtCored4.dll" }, + { "/lib/QtGuid4.dll" }, + { "/lib/QtHelpd4.dll" }, + { "/lib/QtNetworkd4.dll" }, + { "/lib/QtOpenGLd4.dll" }, + { "/lib/QtScriptd4.dll" }, + { "/lib/QtScriptToolsd4.dll" }, + { "/lib/QtSqld4.dll" }, + { "/lib/QtSvgd4.dll" }, + { "/lib/QtTestd4.dll" }, + { "/lib/QtWebKitd4.dll" }, + { "/lib/QtXmld4.dll" }, + { "/lib/QtXmlPatternsd4.dll" }, + { "/plugins/accessible/qtaccessiblecompatwidgetsd4.dll" }, + { "/plugins/accessible/qtaccessiblewidgetsd4.dll" }, + { "/plugins/codecs/qcncodecsd4.dll" }, + { "/plugins/codecs/qjpcodecsd4.dll" }, + { "/plugins/codecs/qkrcodecsd4.dll" }, + { "/plugins/codecs/qtwcodecsd4.dll" }, + { "/plugins/iconengines/qsvgicond4.dll" }, + { "/plugins/imageformats/qgifd4.dll" }, + { "/plugins/imageformats/qjpegd4.dll" }, + { "/plugins/imageformats/qmngd4.dll" }, + { "/plugins/imageformats/qsvgd4.dll" }, + { "/plugins/imageformats/qtiffd4.dll" }, + { "/plugins/sqldrivers/qsqlited4.dll" }, +// { "/plugins/sqldrivers/qsqlodbcd4.dll" } #else - {"/examples/tools/plugandpaint/plugins/libpnp_basictools.a", "/examples/tools/plugandpaintplugins/basictools"}, - {"/lib/libQtUiTools.a", "/tools/designer/src/uitools"}, - {"/demos/shared/libdemo_shared.a", "/demos/shared"}, - - {"/plugins/codecs/libqkrcodecs.so", "/plugins/codecs"}, - {"/plugins/codecs/libqtwcodecs.so", "/plugins/codecs"}, - {"/plugins/codecs/libqcncodecs.so", "/plugins/codecs"}, - {"/plugins/codecs/libqjpcodecs.so", "/plugins/codecs"}, - {"/plugins/iconengines/libqsvgicon.so", "/plugins/iconengines"}, - {"/plugins/sqldrivers/libqsqlmysql.so", "/plugins/sqldrivers"}, - {"/plugins/sqldrivers/libqsqlite.so", "/plugins/sqldrivers"}, - {"/plugins/sqldrivers/libqsqlite2.so", "/plugins/sqldrivers"}, - {"/plugins/sqldrivers/libqsqlpsql.so", "/plugins/sqldrivers"}, - {"/plugins/imageformats/libqgif.so", "/plugins/imageformats"}, - {"/plugins/imageformats/libqtiff.so", "/plugins/imageformats"}, - {"/plugins/imageformats/libqsvg.so", "/plugins/imageformats"}, - {"/plugins/imageformats/libqjpeg.so", "/plugins/imageformats"}, - {"/plugins/imageformats/libqico.so", "/plugins/imageformats"}, - {"/plugins/imageformats/libqmng.so", "/plugins/imageformats"}, - {"/plugins/accessible/libqtaccessiblewidgets.so", "/plugins/accessible"}, - {"/plugins/accessible/libqtaccessiblecompatwidgets.so", "/plugins/accessible"}, - {"/plugins/designer/libcontainerextension.so", "/plugins/designer"}, - {"/plugins/designer/libtaskmenuextension.so", "/plugins/designer"}, - {"/plugins/designer/libqwebview.so", "/plugins/designer"}, - {"/plugins/designer/libcustomwidgetplugin.so", "/plugins/designer"}, - {"/plugins/designer/libarthurplugin.so", "/plugins/designer"}, - {"/plugins/designer/libqt3supportwidgets.so", "/plugins/designer"}, - {"/plugins/designer/libworldtimeclockplugin.so", "/plugins/designer"}, - {"/plugins/inputmethods/libqimsw-multi.so", "/plugins/inputmethods"}, - {"/plugins/script/libqtscriptdbus.so", "/plugins/script"}, - {"/examples/draganddrop/puzzle/puzzle", "/examples/draganddrop/puzzle"}, - {"/examples/draganddrop/dropsite/dropsite", "/examples/draganddrop/dropsite"}, - {"/examples/draganddrop/draggabletext/draggabletext", "/examples/draganddrop/draggabletext"}, - {"/examples/draganddrop/draggableicons/draggableicons", "/examples/draganddrop/draggableicons"}, - {"/examples/draganddrop/fridgemagnets/fridgemagnets", "/examples/draganddrop/fridgemagnets"}, - {"/examples/webkit/formextractor/formExtractor", "/examples/webkit/formextractor"}, - {"/examples/webkit/previewer/previewer", "/examples/webkit/previewer"}, - {"/examples/richtext/orderform/orderform", "/examples/richtext/orderform"}, - {"/examples/richtext/calendar/calendar", "/examples/richtext/calendar"}, - {"/examples/richtext/syntaxhighlighter/syntaxhighlighter", "/examples/richtext/syntaxhighlighter"}, - {"/examples/desktop/systray/systray", "/examples/desktop/systray"}, - {"/examples/desktop/screenshot/screenshot", "/examples/desktop/screenshot"}, - {"/examples/linguist/arrowpad/arrowpad", "/examples/linguist/arrowpad"}, - {"/examples/linguist/trollprint/trollprint", "/examples/linguist/trollprint"}, - {"/examples/linguist/hellotr/hellotr", "/examples/linguist/hellotr"}, - {"/examples/ipc/sharedmemory/sharedmemory", "/examples/ipc/sharedmemory"}, - {"/examples/ipc/localfortuneclient/localfortuneclient", "/examples/ipc/localfortuneclient"}, - {"/examples/ipc/localfortuneserver/localfortuneserver", "/examples/ipc/localfortuneserver"}, - {"/examples/threads/waitconditions/waitconditions", "/examples/threads/waitconditions"}, - {"/examples/threads/semaphores/semaphores", "/examples/threads/semaphores"}, - {"/examples/threads/mandelbrot/mandelbrot", "/examples/threads/mandelbrot"}, - {"/examples/dbus/listnames/listnames", "/examples/dbus/listnames"}, - {"/examples/dbus/pingpong/ping", "/examples/dbus/pingpong"}, - {"/examples/dbus/pingpong/pong", "/examples/dbus/pingpong"}, - {"/examples/dbus/complexpingpong/complexping", "/examples/dbus/complexpingpong"}, - {"/examples/dbus/complexpingpong/complexpong", "/examples/dbus/complexpingpong"}, - {"/examples/dbus/chat/dbus-chat", "/examples/dbus/chat"}, - {"/examples/dbus/remotecontrolledcar/car/car", "/examples/dbus/remotecontrolledcar/car"}, - {"/examples/dbus/remotecontrolledcar/controller/controller", "/examples/dbus/remotecontrolledcar/controller"}, - {"/examples/qtconcurrent/wordcount/wordcount", "/examples/qtconcurrent/wordcount"}, - {"/examples/qtconcurrent/runfunction/runfunction", "/examples/qtconcurrent/runfunction"}, - {"/examples/qtconcurrent/progressdialog/progressdialog", "/examples/qtconcurrent/progressdialog"}, - {"/examples/qtconcurrent/map/mapdemo", "/examples/qtconcurrent/map"}, - {"/examples/qtconcurrent/imagescaling/imagescaling", "/examples/qtconcurrent/imagescaling"}, - {"/examples/designer/calculatorform/calculatorform", "/examples/designer/calculatorform"}, - {"/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder", "/examples/designer/worldtimeclockbuilder"}, - {"/examples/designer/calculatorbuilder/calculatorbuilder", "/examples/designer/calculatorbuilder"}, - {"/examples/sql/drilldown/drilldown", "/examples/sql/drilldown"}, - {"/examples/sql/masterdetail/masterdetail", "/examples/sql/masterdetail"}, - {"/examples/sql/tablemodel/tablemodel", "/examples/sql/tablemodel"}, - {"/examples/sql/relationaltablemodel/relationaltablemodel", "/examples/sql/relationaltablemodel"}, - {"/examples/sql/querymodel/querymodel", "/examples/sql/querymodel"}, - {"/examples/sql/cachedtable/cachedtable", "/examples/sql/cachedtable"}, - {"/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel", "/examples/xmlpatterns/qobjectxmlmodel"}, - {"/examples/xmlpatterns/recipes/recipes", "/examples/xmlpatterns/recipes"}, - {"/examples/xmlpatterns/filetree/filetree", "/examples/xmlpatterns/filetree"}, - {"/examples/assistant/simpletextviewer/simpletextviewer", "/examples/assistant/simpletextviewer"}, - {"/examples/help/simpletextviewer/simpletextviewer", "/examples/help/simpletextviewer"}, - {"/examples/help/contextsensitivehelp/contextsensitivehelp", "/examples/help/contextsensitivehelp"}, - {"/examples/help/remotecontrol/remotecontrol", "/examples/help/remotecontrol"}, - {"/examples/opengl/grabber/grabber", "/examples/opengl/grabber"}, - {"/examples/opengl/framebufferobject2/framebufferobject2", "/examples/opengl/framebufferobject2"}, - {"/examples/opengl/hellogl/hellogl", "/examples/opengl/hellogl"}, - {"/examples/opengl/framebufferobject/framebufferobject", "/examples/opengl/framebufferobject"}, - {"/examples/opengl/overpainting/overpainting", "/examples/opengl/overpainting"}, - {"/examples/opengl/pbuffers2/pbuffers2", "/examples/opengl/pbuffers2"}, - {"/examples/opengl/2dpainting/2dpainting", "/examples/opengl/2dpainting"}, - {"/examples/opengl/pbuffers/pbuffers", "/examples/opengl/pbuffers"}, - {"/examples/opengl/samplebuffers/samplebuffers", "/examples/opengl/samplebuffers"}, - {"/examples/opengl/textures/textures", "/examples/opengl/textures"}, - {"/examples/graphicsview/elasticnodes/elasticnodes", "/examples/graphicsview/elasticnodes"}, - {"/examples/graphicsview/collidingmice/collidingmice", "/examples/graphicsview/collidingmice"}, - {"/examples/graphicsview/portedasteroids/portedasteroids", "/examples/graphicsview/portedasteroids"}, - {"/examples/graphicsview/padnavigator/padnavigator", "/examples/graphicsview/padnavigator"}, - {"/examples/graphicsview/portedcanvas/portedcanvas", "/examples/graphicsview/portedcanvas"}, - {"/examples/graphicsview/diagramscene/diagramscene", "/examples/graphicsview/diagramscene"}, - {"/examples/graphicsview/dragdroprobot/dragdroprobot", "/examples/graphicsview/dragdroprobot"}, - {"/examples/mainwindows/menus/menus", "/examples/mainwindows/menus"}, - {"/examples/mainwindows/mdi/mdi", "/examples/mainwindows/mdi"}, - {"/examples/mainwindows/sdi/sdi", "/examples/mainwindows/sdi"}, - {"/examples/mainwindows/recentfiles/recentfiles", "/examples/mainwindows/recentfiles"}, - {"/examples/mainwindows/application/application", "/examples/mainwindows/application"}, - {"/examples/mainwindows/dockwidgets/dockwidgets", "/examples/mainwindows/dockwidgets"}, - {"/examples/widgets/tablet/tablet", "/examples/widgets/tablet"}, - {"/examples/widgets/shapedclock/shapedclock", "/examples/widgets/shapedclock"}, - {"/examples/widgets/styles/styles", "/examples/widgets/styles"}, - {"/examples/widgets/icons/icons", "/examples/widgets/icons"}, - {"/examples/widgets/charactermap/charactermap", "/examples/widgets/charactermap"}, - {"/examples/widgets/sliders/sliders", "/examples/widgets/sliders"}, - {"/examples/widgets/tooltips/tooltips", "/examples/widgets/tooltips"}, - {"/examples/widgets/windowflags/windowflags", "/examples/widgets/windowflags"}, - {"/examples/widgets/stylesheet/stylesheet", "/examples/widgets/stylesheet"}, - {"/examples/widgets/spinboxes/spinboxes", "/examples/widgets/spinboxes"}, - {"/examples/widgets/validators/validators", "/examples/widgets/validators"}, - {"/examples/widgets/calculator/calculator", "/examples/widgets/calculator"}, - {"/examples/widgets/groupbox/groupbox", "/examples/widgets/groupbox"}, - {"/examples/widgets/scribble/scribble", "/examples/widgets/scribble"}, - {"/examples/widgets/imageviewer/imageviewer", "/examples/widgets/imageviewer"}, - {"/examples/widgets/digitalclock/digitalclock", "/examples/widgets/digitalclock"}, - {"/examples/widgets/lineedits/lineedits", "/examples/widgets/lineedits"}, - {"/examples/widgets/movie/movie", "/examples/widgets/movie"}, - {"/examples/widgets/calendarwidget/calendarwidget", "/examples/widgets/calendarwidget"}, - {"/examples/widgets/wiggly/wiggly", "/examples/widgets/wiggly"}, - {"/examples/widgets/analogclock/analogclock", "/examples/widgets/analogclock"}, - {"/examples/widgets/tetrix/tetrix", "/examples/widgets/tetrix"}, - {"/examples/painting/basicdrawing/basicdrawing", "/examples/painting/basicdrawing"}, - {"/examples/painting/svgviewer/svgviewer", "/examples/painting/svgviewer"}, - {"/examples/painting/fontsampler/fontsampler", "/examples/painting/fontsampler"}, - {"/examples/painting/concentriccircles/concentriccircles", "/examples/painting/concentriccircles"}, - {"/examples/painting/painterpaths/painterpaths", "/examples/painting/painterpaths"}, - {"/examples/painting/imagecomposition/imagecomposition", "/examples/painting/imagecomposition"}, - {"/examples/painting/transformations/transformations", "/examples/painting/transformations"}, - {"/examples/tools/customcompleter/customcompleter", "/examples/tools/customcompleter"}, - {"/examples/tools/codecs/codecs", "/examples/tools/codecs"}, - {"/examples/tools/plugandpaint/plugins/libpnp_extrafilters.so", "/examples/tools/plugandpaint/plugins"}, - {"/examples/tools/plugandpaint/plugandpaint", "/examples/tools/plugandpaint"}, - {"/examples/tools/regexp/regexp", "/examples/tools/regexp"}, - {"/examples/tools/undoframework/undoframework", "/examples/tools/undoframework"}, - {"/examples/tools/i18n/i18n", "/examples/tools/i18n"}, - {"/examples/tools/completer/completer", "/examples/tools/completer"}, - {"/examples/tools/echoplugin/plugin/libechoplugin.so", "/examples/tools/echoplugin/plugin"}, - {"/examples/tools/echoplugin/echoplugin", "/examples/tools/echoplugin"}, - {"/examples/tools/styleplugin/styles/libsimplestyleplugin.so", "/examples/tools/styleplugin/styles"}, - {"/examples/tools/styleplugin/styleplugin", "/examples/tools/styleplugin"}, - {"/examples/tools/treemodelcompleter/treemodelcompleter", "/examples/tools/treemodelcompleter"}, - {"/examples/tools/settingseditor/settingseditor", "/examples/tools/settingseditor"}, - {"/examples/network/securesocketclient/securesocketclient", "/examples/network/securesocketclient"}, - {"/examples/network/broadcastreceiver/broadcastreceiver", "/examples/network/broadcastreceiver"}, - {"/examples/network/downloadmanager/downloadmanager", "/examples/network/downloadmanager"}, - {"/examples/network/fortuneserver/fortuneserver", "/examples/network/fortuneserver"}, - {"/examples/network/loopback/loopback", "/examples/network/loopback"}, - {"/examples/network/http/http", "/examples/network/http"}, - {"/examples/network/ftp/ftp", "/examples/network/ftp"}, - {"/examples/network/download/download", "/examples/network/download"}, - {"/examples/network/fortuneclient/fortuneclient", "/examples/network/fortuneclient"}, - {"/examples/network/blockingfortuneclient/blockingfortuneclient", "/examples/network/blockingfortuneclient"}, - {"/examples/network/broadcastsender/broadcastsender", "/examples/network/broadcastsender"}, - {"/examples/network/threadedfortuneserver/threadedfortuneserver", "/examples/network/threadedfortuneserver"}, - {"/examples/network/chat/network-chat", "/examples/network/chat"}, - {"/examples/network/torrent/torrent", "/examples/network/torrent"}, - {"/examples/qtestlib/tutorial4/tutorial4", "/examples/qtestlib/tutorial4"}, - {"/examples/qtestlib/tutorial1/tutorial1", "/examples/qtestlib/tutorial1"}, - {"/examples/qtestlib/tutorial2/tutorial2", "/examples/qtestlib/tutorial2"}, - {"/examples/qtestlib/tutorial3/tutorial3", "/examples/qtestlib/tutorial3"}, - {"/examples/tutorials/tutorial/t3/t3", "/examples/tutorials/tutorial/t3"}, - {"/examples/tutorials/tutorial/t5/t5", "/examples/tutorials/tutorial/t5"}, - {"/examples/tutorials/tutorial/t2/t2", "/examples/tutorials/tutorial/t2"}, - {"/examples/tutorials/tutorial/t11/t11", "/examples/tutorials/tutorial/t11"}, - {"/examples/tutorials/tutorial/t6/t6", "/examples/tutorials/tutorial/t6"}, - {"/examples/tutorials/tutorial/t13/t13", "/examples/tutorials/tutorial/t13"}, - {"/examples/tutorials/tutorial/t12/t12", "/examples/tutorials/tutorial/t12"}, - {"/examples/tutorials/tutorial/t9/t9", "/examples/tutorials/tutorial/t9"}, - {"/examples/tutorials/tutorial/t1/t1", "/examples/tutorials/tutorial/t1"}, - {"/examples/tutorials/tutorial/t4/t4", "/examples/tutorials/tutorial/t4"}, - {"/examples/tutorials/tutorial/t14/t14", "/examples/tutorials/tutorial/t14"}, - {"/examples/tutorials/tutorial/t8/t8", "/examples/tutorials/tutorial/t8"}, - {"/examples/tutorials/tutorial/t7/t7", "/examples/tutorials/tutorial/t7"}, - {"/examples/tutorials/tutorial/t10/t10", "/examples/tutorials/tutorial/t10"}, - {"/examples/tutorials/addressbook/part2/part2", "/examples/tutorials/addressbook/part2"}, - {"/examples/tutorials/addressbook/part5/part5", "/examples/tutorials/addressbook/part5"}, - {"/examples/tutorials/addressbook/part3/part3", "/examples/tutorials/addressbook/part3"}, - {"/examples/tutorials/addressbook/part4/part4", "/examples/tutorials/addressbook/part4"}, - {"/examples/tutorials/addressbook/part7/part7", "/examples/tutorials/addressbook/part7"}, - {"/examples/tutorials/addressbook/part1/part1", "/examples/tutorials/addressbook/part1"}, - {"/examples/tutorials/addressbook/part6/part6", "/examples/tutorials/addressbook/part6"}, - {"/examples/xml/streambookmarks/streambookmarks", "/examples/xml/streambookmarks"}, - {"/examples/xml/saxbookmarks/saxbookmarks", "/examples/xml/saxbookmarks"}, - {"/examples/xml/xmlstreamlint/xmlstreamlint", "/examples/xml/xmlstreamlint"}, - {"/examples/xml/dombookmarks/dombookmarks", "/examples/xml/dombookmarks"}, - {"/examples/xml/rsslisting/rsslisting", "/examples/xml/rsslisting"}, - {"/examples/layouts/dynamiclayouts/dynamiclayouts", "/examples/layouts/dynamiclayouts"}, - {"/examples/layouts/flowlayout/flowlayout", "/examples/layouts/flowlayout"}, - {"/examples/layouts/borderlayout/borderlayout", "/examples/layouts/borderlayout"}, - {"/examples/layouts/basiclayouts/basiclayouts", "/examples/layouts/basiclayouts"}, - {"/examples/dialogs/trivialwizard/trivialwizard", "/examples/dialogs/trivialwizard"}, - {"/examples/dialogs/extension/extension", "/examples/dialogs/extension"}, - {"/examples/dialogs/standarddialogs/standarddialogs", "/examples/dialogs/standarddialogs"}, - {"/examples/dialogs/tabdialog/tabdialog", "/examples/dialogs/tabdialog"}, - {"/examples/dialogs/classwizard/classwizard", "/examples/dialogs/classwizard"}, - {"/examples/dialogs/findfiles/findfiles", "/examples/dialogs/findfiles"}, - {"/examples/dialogs/licensewizard/licensewizard", "/examples/dialogs/licensewizard"}, - {"/examples/dialogs/configdialog/configdialog", "/examples/dialogs/configdialog"}, - {"/examples/itemviews/coloreditorfactory/coloreditorfactory", "/examples/itemviews/coloreditorfactory"}, - {"/examples/itemviews/pixelator/pixelator", "/examples/itemviews/pixelator"}, - {"/examples/itemviews/simplewidgetmapper/simplewidgetmapper", "/examples/itemviews/simplewidgetmapper"}, - {"/examples/itemviews/puzzle/puzzle", "/examples/itemviews/puzzle"}, - {"/examples/itemviews/dirview/dirview", "/examples/itemviews/dirview"}, - {"/examples/itemviews/addressbook/addressbook", "/examples/itemviews/addressbook"}, - {"/examples/itemviews/spinboxdelegate/spinboxdelegate", "/examples/itemviews/spinboxdelegate"}, - {"/examples/itemviews/simpletreemodel/simpletreemodel", "/examples/itemviews/simpletreemodel"}, - {"/examples/itemviews/chart/chart", "/examples/itemviews/chart"}, - {"/examples/itemviews/basicsortfiltermodel/basicsortfiltermodel", "/examples/itemviews/basicsortfiltermodel"}, - {"/examples/itemviews/customsortfiltermodel/customsortfiltermodel", "/examples/itemviews/customsortfiltermodel"}, - {"/examples/itemviews/stardelegate/stardelegate", "/examples/itemviews/stardelegate"}, - {"/examples/itemviews/editabletreemodel/editabletreemodel", "/examples/itemviews/editabletreemodel"}, - {"/examples/itemviews/simpledommodel/simpledommodel", "/examples/itemviews/simpledommodel"}, - {"/examples/uitools/multipleinheritance/multipleinheritance", "/examples/uitools/multipleinheritance"}, - {"/examples/uitools/textfinder/textfinder", "/examples/uitools/textfinder"}, - {"/examples/script/helloscript/helloscript", "/examples/script/helloscript"}, - {"/examples/script/marshal/marshal", "/examples/script/marshal"}, - {"/examples/script/customclass/customclass", "/examples/script/customclass"}, - {"/examples/script/calculator/calculator", "/examples/script/calculator"}, - {"/examples/script/context2d/context2d", "/examples/script/context2d"}, - {"/examples/script/defaultprototypes/defaultprototypes", "/examples/script/defaultprototypes"}, - {"/examples/script/qscript/qscript", "/examples/script/qscript"}, - {"/examples/script/tetrix/tetrix", "/examples/script/tetrix"}, - {"/lib/libQtTest.so.4.5.0", "/lib"}, - {"/lib/libQtDesignerComponents.so.4.5.0", "/lib"}, - {"/lib/libQtScript.so.4.5.0", "/lib"}, - {"/lib/libQtScriptTools.so.4.5.0", "/lib"}, - {"/lib/libQtDesigner.so.4.5.0", "/lib"}, - {"/lib/libQtGui.so.4.5.0", "/lib"}, - {"/lib/libQtSvg.so.4.5.0", "/lib"}, - {"/lib/libQtXml.so.4.5.0", "/lib"}, - {"/lib/libQtCLucene.so.4.5.0", "/lib"}, - {"/lib/libQtCore.so.4.5.0", "/lib"}, - {"/lib/libQtDBus.so.4.5.0", "/lib"}, - {"/lib/libQtXmlPatterns.so.4.5.0", "/lib"}, - {"/lib/libQtHelp.so.4.5.0", "/lib"}, - {"/lib/libQtSql.so.4.5.0", "/lib"}, - {"/lib/libQtNetwork.so.4.5.0", "/lib"}, - {"/lib/libQtOpenGL.so.4.5.0", "/lib"}, - {"/lib/libQt3Support.so.4.5.0", "/lib"}, - {"/lib/libQtAssistantClient.so.4.5.0", "/lib"}, - {"/lib/libQtWebKit.so.4.5.0", "/lib"}, - {"/demos/spreadsheet/spreadsheet", "/demos/spreadsheet"}, - {"/demos/composition/composition", "/demos/composition"}, - {"/demos/gradients/gradients", "/demos/gradients"}, - {"/demos/deform/deform", "/demos/deform"}, - {"/demos/embeddeddialogs/embeddeddialogs", "/demos/embeddeddialogs"}, - {"/demos/textedit/textedit", "/demos/textedit"}, - {"/demos/browser/browser", "/demos/browser"}, - {"/demos/interview/interview", "/demos/interview"}, - {"/demos/affine/affine", "/demos/affine"}, - {"/demos/books/books", "/demos/books"}, - {"/demos/chip/chip", "/demos/chip"}, - {"/demos/pathstroke/pathstroke", "/demos/pathstroke"}, - {"/demos/undo/undo", "/demos/undo"}, - {"/demos/sqlbrowser/sqlbrowser", "/demos/sqlbrowser"}, - {"/demos/mainwindow/mainwindow", "/demos/mainwindow"}, - {"/bin/qcollectiongenerator", "/bin"}, - {"/bin/qhelpconverter", "/bin"}, - {"/bin/lupdate", "/bin"}, - {"/bin/moc", "/bin"}, - {"/bin/pixeltool", "/bin"}, - {"/bin/qdbusviewer", "/bin"}, - {"/bin/qtconfig", "/bin"}, - {"/bin/qdbusxml2cpp", "/bin"}, - {"/bin/qdbus", "/bin"}, - {"/bin/uic3", "/bin"}, - {"/bin/qhelpgenerator", "/bin"}, - {"/bin/qt3to4", "/bin"}, - {"/bin/xmlpatterns", "/bin"}, - {"/bin/linguist", "/bin"}, - {"/bin/uic", "/bin"}, - {"/bin/qtdemo", "/bin"}, - {"/bin/lrelease", "/bin"}, - {"/bin/qmake", "/bin"}, - {"/bin/assistant", "/bin"}, - {"/bin/rcc", "/bin"}, - {"/bin/designer", "/bin"}, - {"/bin/assistant_adp", "/bin"}, - {"/bin/qdbuscpp2xml", "/bin"}, - - - {"/plugins/codecs/libqkrcodecs.so", "/src/plugins/codecs/kr"}, - {"/plugins/codecs/libqtwcodecs.so", "/src/plugins/codecs/tw"}, - {"/plugins/codecs/libqcncodecs.so", "/src/plugins/codecs/cn"}, - {"/plugins/codecs/libqjpcodecs.so", "/src/plugins/codecs/jp"}, - {"/plugins/iconengines/libqsvgicon.so", "/src/plugins/iconengines/svgiconengine"}, - {"/plugins/sqldrivers/libqsqlmysql.so", "/src/plugins/sqldrivers/mysql"}, - {"/plugins/sqldrivers/libqsqlite.so", "/src/plugins/sqldrivers/sqlite"}, - {"/plugins/sqldrivers/libqsqlite2.so", "/src/plugins/sqldrivers/sqlite2"}, - {"/plugins/sqldrivers/libqsqlpsql.so", "/src/plugins/sqldrivers/psql"}, - {"/plugins/imageformats/libqgif.so", "/src/plugins/imageformats/gif"}, - {"/plugins/imageformats/libqtiff.so", "/src/plugins/imageformats/tiff"}, - {"/plugins/imageformats/libqsvg.so", "/src/plugins/imageformats/svg"}, - {"/plugins/imageformats/libqjpeg.so", "/src/plugins/imageformats/jpeg"}, - {"/plugins/imageformats/libqico.so", "/src/plugins/imageformats/ico"}, - {"/plugins/imageformats/libqmng.so", "/src/plugins/imageformats/mng"}, - {"/plugins/accessible/libqtaccessiblewidgets.so", "/src/plugins/accessible/widgets"}, - {"/plugins/accessible/libqtaccessiblecompatwidgets.so", "/src/plugins/accessible/compat"}, - {"/plugins/designer/libcontainerextension.so", "/examples/designer/containerextension"}, - {"/plugins/designer/libtaskmenuextension.so", "/examples/designer/taskmenuextension"}, - {"/plugins/designer/libqwebview.so", "/tools/designer/src/plugins/qwebview"}, - {"/plugins/designer/libcustomwidgetplugin.so", "/examples/designer/customwidgetplugin"}, - {"/plugins/designer/libarthurplugin.so", "/demos/arthurplugin"}, - {"/plugins/designer/libarthurplugin.so", "/demos/shared"}, - {"/plugins/designer/libqt3supportwidgets.so", "/tools/designer/src/plugins/widgets"}, - {"/plugins/designer/libworldtimeclockplugin.so", "/examples/designer/worldtimeclockplugin"}, - {"/plugins/inputmethods/libqimsw-multi.so", "/src/plugins/inputmethods/imsw-multi"}, - {"/plugins/script/libqtscriptdbus.so", "/src/plugins/script/qtdbus"}, - - {"/examples/dbus/chat/dbus-chat", "/examples/dbus/dbus-chat"}, - {"/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder", "/tools/designer/src/uitools"}, - {"/examples/designer/calculatorbuilder/calculatorbuilder", "/tools/designer/src/uitools"}, - {"/examples/tools/plugandpaint/plugins/libpnp_extrafilters.so", "/examples/tools/plugandpaintplugins/extrafilters"}, - {"/examples/tools/styleplugin/styles/libsimplestyleplugin.so", "/examples/tools/styleplugin/plugin"}, - {"/examples/network/chat/network-chat", "/examples/network/network-chat"}, - {"/examples/uitools/textfinder/textfinder", "/tools/designer/src/uitools"}, - {"/examples/script/calculator/calculator", "/tools/designer/src/uitools"}, - {"/examples/script/tetrix/tetrix", "/tools/designer/src/uitools"}, - - {"/lib/libQtTest.so.4.5.0", "/src/testlib"}, - {"/lib/libQtDesignerComponents.so.4.5.0", "/tools/designer/src/components"}, - {"/lib/libQtScript.so.4.5.0", "/src/script"}, - {"/lib/libQtScriptTools.so.4.5.0", "/src/scripttools"}, - {"/lib/libQtDesigner.so.4.5.0", "/tools/designer/src/lib"}, - {"/lib/libQtGui.so.4.5.0", "/src/gui"}, - {"/lib/libQtSvg.so.4.5.0", "/src/svg"}, - {"/lib/libQtXml.so.4.5.0", "/src/xml"}, - {"/lib/libQtCLucene.so.4.5.0", "/tools/assistant/lib/fulltextsearch"}, - {"/lib/libQtCore.so.4.5.0", "/src/corelib"}, - {"/lib/libQtDBus.so.4.5.0", "/src/dbus"}, - {"/lib/libQtXmlPatterns.so.4.5.0", "/src/xmlpatterns"}, - {"/lib/libQtHelp.so.4.5.0", "/tools/assistant/lib"}, - {"/lib/libQtSql.so.4.5.0", "/src/sql"}, - {"/lib/libQtNetwork.so.4.5.0", "/src/network"}, - {"/lib/libQtOpenGL.so.4.5.0", "/src/opengl"}, - {"/lib/libQt3Support.so.4.5.0", "/src/qt3support"}, - {"/lib/libQtAssistantClient.so.4.5.0", "/tools/assistant/compat/lib"}, - {"/lib/libQtWebKit.so.4.5.0", "/src/3rdparty/webkit/WebCore"}, - - {"/demos/composition/composition", "/demos/shared"}, - {"/demos/gradients/gradients", "/demos/shared"}, - {"/demos/deform/deform", "/demos/shared"}, - {"/demos/browser/browser", "/tools/designer/src/uitools"}, - {"/demos/affine/affine", "/demos/shared"}, - {"/demos/pathstroke/pathstroke", "/demos/shared"}, - - {"/bin/qcollectiongenerator", "/tools/assistant/tools/qcollectiongenerator"}, - {"/bin/qhelpconverter", "/tools/assistant/tools/qhelpconverter"}, - {"/bin/lupdate", "/tools/linguist/lupdate"}, - {"/bin/moc", "/src/tools/moc"}, - {"/bin/pixeltool", "/tools/pixeltool"}, - {"/bin/qdbusviewer", "/tools/qdbus/qdbusviewer"}, - {"/bin/qtconfig", "/tools/qtconfig"}, - {"/bin/qdbusxml2cpp", "/tools/qdbus/qdbusxml2cpp"}, - {"/bin/qdbus", "/tools/qdbus/qdbus"}, - {"/bin/uic3", "/src/tools/uic3"}, - {"/bin/qhelpgenerator", "/tools/assistant/tools/qhelpgenerator"}, - {"/bin/qt3to4", "/tools/porting/src"}, - {"/bin/xmlpatterns", "/tools/xmlpatterns"}, - {"/bin/linguist", "/tools/designer/src/uitools"}, - {"/bin/linguist", "/tools/linguist/linguist"}, - {"/bin/uic", "/src/tools/uic"}, - {"/bin/qtdemo", "/demos/qtdemo"}, - {"/bin/lrelease", "/tools/linguist/lrelease"}, - {"/bin/qmake", "/qmake"}, - {"/bin/assistant", "/tools/assistant/tools/assistant"}, - {"/bin/rcc", "/src/tools/rcc"}, - {"/bin/designer", "/tools/designer/src/designer"}, - {"/bin/assistant_adp", "/tools/assistant/compat"}, - {"/bin/qdbuscpp2xml", "/tools/qdbus/qdbuscpp2xml"} + { "/bin/assistant" }, + { "/bin/assistant_adp" }, + { "/bin/designer" }, + { "/bin/linguist" }, + { "/bin/lrelease" }, + { "/bin/lupdate" }, + { "/bin/moc" }, + { "/bin/pixeltool" }, + { "/bin/qcollectiongenerator" }, + { "/bin/qdbus" }, + { "/bin/qdbuscpp2xml" } + { "/bin/qdbuscpp2xml" }, + { "/bin/qdbusviewer" }, + { "/bin/qdbusxml2cpp" }, + { "/bin/qhelpconverter" }, + { "/bin/qhelpgenerator" }, + { "/bin/qmake" }, + { "/bin/qt3to4" }, + { "/bin/qtconfig" }, + { "/bin/qtdemo" }, + { "/bin/rcc" }, + { "/bin/uic" }, + { "/bin/uic3" }, + { "/bin/xmlpatterns" }, + { "/demos/affine/affine" }, + { "/demos/books/books" }, + { "/demos/browser/browser" }, + { "/demos/chip/chip" }, + { "/demos/composition/composition" }, + { "/demos/deform/deform" }, + { "/demos/embeddeddialogs/embeddeddialogs" }, + { "/demos/gradients/gradients" }, + { "/demos/interview/interview" }, + { "/demos/mainwindow/mainwindow" }, + { "/demos/pathstroke/pathstroke" }, + { "/demos/shared/libdemo_shared.a" }, + { "/demos/spreadsheet/spreadsheet" }, + { "/demos/sqlbrowser/sqlbrowser" }, + { "/demos/textedit/textedit" }, + { "/demos/undo/undo" }, + { "/examples/assistant/simpletextviewer/simpletextviewer" }, + { "/examples/dbus/chat/dbus-chat" }, + { "/examples/dbus/complexpingpong/complexping" }, + { "/examples/dbus/complexpingpong/complexpong" }, + { "/examples/dbus/listnames/listnames" }, + { "/examples/dbus/pingpong/ping" }, + { "/examples/dbus/pingpong/pong" }, + { "/examples/dbus/remotecontrolledcar/car/car" }, + { "/examples/dbus/remotecontrolledcar/controller/controller" }, + { "/examples/designer/calculatorbuilder/calculatorbuilder" }, + { "/examples/designer/calculatorform/calculatorform" }, + { "/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder" }, + { "/examples/desktop/screenshot/screenshot" }, + { "/examples/desktop/systray/systray" }, + { "/examples/dialogs/classwizard/classwizard" }, + { "/examples/dialogs/configdialog/configdialog" }, + { "/examples/dialogs/extension/extension" }, + { "/examples/dialogs/findfiles/findfiles" }, + { "/examples/dialogs/licensewizard/licensewizard" }, + { "/examples/dialogs/standarddialogs/standarddialogs" }, + { "/examples/dialogs/tabdialog/tabdialog" }, + { "/examples/dialogs/trivialwizard/trivialwizard" }, + { "/examples/draganddrop/draggableicons/draggableicons" }, + { "/examples/draganddrop/draggabletext/draggabletext" }, + { "/examples/draganddrop/dropsite/dropsite" }, + { "/examples/draganddrop/fridgemagnets/fridgemagnets" }, + { "/examples/draganddrop/puzzle/puzzle" }, + { "/examples/graphicsview/collidingmice/collidingmice" }, + { "/examples/graphicsview/diagramscene/diagramscene" }, + { "/examples/graphicsview/dragdroprobot/dragdroprobot" }, + { "/examples/graphicsview/elasticnodes/elasticnodes" }, + { "/examples/graphicsview/padnavigator/padnavigator" }, + { "/examples/graphicsview/portedasteroids/portedasteroids" }, + { "/examples/graphicsview/portedcanvas/portedcanvas" }, + { "/examples/help/contextsensitivehelp/contextsensitivehelp" }, + { "/examples/help/remotecontrol/remotecontrol" }, + { "/examples/help/simpletextviewer/simpletextviewer" }, + { "/examples/ipc/localfortuneclient/localfortuneclient" }, + { "/examples/ipc/localfortuneserver/localfortuneserver" }, + { "/examples/ipc/sharedmemory/sharedmemory" }, + { "/examples/itemviews/addressbook/addressbook" }, + { "/examples/itemviews/basicsortfiltermodel/basicsortfiltermodel" }, + { "/examples/itemviews/chart/chart" }, + { "/examples/itemviews/coloreditorfactory/coloreditorfactory" }, + { "/examples/itemviews/customsortfiltermodel/customsortfiltermodel" }, + { "/examples/itemviews/dirview/dirview" }, + { "/examples/itemviews/editabletreemodel/editabletreemodel" }, + { "/examples/itemviews/pixelator/pixelator" }, + { "/examples/itemviews/puzzle/puzzle" }, + { "/examples/itemviews/simpledommodel/simpledommodel" }, + { "/examples/itemviews/simpletreemodel/simpletreemodel" }, + { "/examples/itemviews/simplewidgetmapper/simplewidgetmapper" }, + { "/examples/itemviews/spinboxdelegate/spinboxdelegate" }, + { "/examples/itemviews/stardelegate/stardelegate" }, + { "/examples/layouts/basiclayouts/basiclayouts" }, + { "/examples/layouts/borderlayout/borderlayout" }, + { "/examples/layouts/dynamiclayouts/dynamiclayouts" }, + { "/examples/layouts/flowlayout/flowlayout" }, + { "/examples/linguist/arrowpad/arrowpad" }, + { "/examples/linguist/hellotr/hellotr" }, + { "/examples/linguist/trollprint/trollprint" }, + { "/examples/mainwindows/application/application" }, + { "/examples/mainwindows/dockwidgets/dockwidgets" }, + { "/examples/mainwindows/mdi/mdi" }, + { "/examples/mainwindows/menus/menus" }, + { "/examples/mainwindows/recentfiles/recentfiles" }, + { "/examples/mainwindows/sdi/sdi" }, + { "/examples/network/blockingfortuneclient/blockingfortuneclient" }, + { "/examples/network/broadcastreceiver/broadcastreceiver" }, + { "/examples/network/broadcastsender/broadcastsender" }, + { "/examples/network/chat/network-chat" }, + { "/examples/network/download/download" }, + { "/examples/network/downloadmanager/downloadmanager" }, + { "/examples/network/fortuneclient/fortuneclient" }, + { "/examples/network/fortuneserver/fortuneserver" }, + { "/examples/network/ftp/ftp" }, + { "/examples/network/http/http" }, + { "/examples/network/loopback/loopback" }, + { "/examples/network/securesocketclient/securesocketclient" }, + { "/examples/network/threadedfortuneserver/threadedfortuneserver" }, + { "/examples/network/torrent/torrent" }, + { "/examples/opengl/2dpainting/2dpainting" }, + { "/examples/opengl/framebufferobject/framebufferobject" }, + { "/examples/opengl/framebufferobject2/framebufferobject2" }, + { "/examples/opengl/grabber/grabber" }, + { "/examples/opengl/hellogl/hellogl" }, + { "/examples/opengl/overpainting/overpainting" }, + { "/examples/opengl/pbuffers/pbuffers" }, + { "/examples/opengl/pbuffers2/pbuffers2" }, + { "/examples/opengl/samplebuffers/samplebuffers" }, + { "/examples/opengl/textures/textures" }, + { "/examples/painting/basicdrawing/basicdrawing" }, + { "/examples/painting/concentriccircles/concentriccircles" }, + { "/examples/painting/fontsampler/fontsampler" }, + { "/examples/painting/imagecomposition/imagecomposition" }, + { "/examples/painting/painterpaths/painterpaths" }, + { "/examples/painting/svgviewer/svgviewer" }, + { "/examples/painting/transformations/transformations" }, + { "/examples/qtconcurrent/imagescaling/imagescaling" }, + { "/examples/qtconcurrent/map/mapdemo" }, + { "/examples/qtconcurrent/progressdialog/progressdialog" }, + { "/examples/qtconcurrent/runfunction/runfunction" }, + { "/examples/qtconcurrent/wordcount/wordcount" }, + { "/examples/qtestlib/tutorial1/tutorial1" }, + { "/examples/qtestlib/tutorial2/tutorial2" }, + { "/examples/qtestlib/tutorial3/tutorial3" }, + { "/examples/qtestlib/tutorial4/tutorial4" }, + { "/examples/richtext/calendar/calendar" }, + { "/examples/richtext/orderform/orderform" }, + { "/examples/richtext/syntaxhighlighter/syntaxhighlighter" }, + { "/examples/script/calculator/calculator" }, + { "/examples/script/context2d/context2d" }, + { "/examples/script/customclass/customclass" }, + { "/examples/script/defaultprototypes/defaultprototypes" }, + { "/examples/script/helloscript/helloscript" }, + { "/examples/script/marshal/marshal" }, + { "/examples/script/qscript/qscript" }, + { "/examples/script/tetrix/tetrix" }, + { "/examples/sql/cachedtable/cachedtable" }, + { "/examples/sql/drilldown/drilldown" }, + { "/examples/sql/masterdetail/masterdetail" }, + { "/examples/sql/querymodel/querymodel" }, + { "/examples/sql/relationaltablemodel/relationaltablemodel" }, + { "/examples/sql/tablemodel/tablemodel" }, + { "/examples/threads/mandelbrot/mandelbrot" }, + { "/examples/threads/semaphores/semaphores" }, + { "/examples/threads/waitconditions/waitconditions" }, + { "/examples/tools/codecs/codecs" }, + { "/examples/tools/completer/completer" }, + { "/examples/tools/customcompleter/customcompleter" }, + { "/examples/tools/echoplugin/echoplugin" }, + { "/examples/tools/echoplugin/plugin/libechoplugin.so" }, + { "/examples/tools/i18n/i18n" }, + { "/examples/tools/plugandpaint/plugandpaint" }, + { "/examples/tools/plugandpaint/plugins/libpnp_basictools.a" }, + { "/examples/tools/plugandpaint/plugins/libpnp_extrafilters.so" }, + { "/examples/tools/regexp/regexp" }, + { "/examples/tools/settingseditor/settingseditor" }, + { "/examples/tools/styleplugin/styleplugin" }, + { "/examples/tools/styleplugin/styles/libsimplestyleplugin.so" }, + { "/examples/tools/treemodelcompleter/treemodelcompleter" }, + { "/examples/tools/undoframework/undoframework" }, + { "/examples/tutorials/addressbook/part1/part1" }, + { "/examples/tutorials/addressbook/part2/part2" }, + { "/examples/tutorials/addressbook/part3/part3" }, + { "/examples/tutorials/addressbook/part4/part4" }, + { "/examples/tutorials/addressbook/part5/part5" }, + { "/examples/tutorials/addressbook/part6/part6" }, + { "/examples/tutorials/addressbook/part7/part7" }, + { "/examples/tutorials/tutorial/t1/t1" }, + { "/examples/tutorials/tutorial/t10/t10" }, + { "/examples/tutorials/tutorial/t11/t11" }, + { "/examples/tutorials/tutorial/t12/t12" }, + { "/examples/tutorials/tutorial/t13/t13" }, + { "/examples/tutorials/tutorial/t14/t14" }, + { "/examples/tutorials/tutorial/t2/t2" }, + { "/examples/tutorials/tutorial/t3/t3" }, + { "/examples/tutorials/tutorial/t4/t4" }, + { "/examples/tutorials/tutorial/t5/t5" }, + { "/examples/tutorials/tutorial/t6/t6" }, + { "/examples/tutorials/tutorial/t7/t7" }, + { "/examples/tutorials/tutorial/t8/t8" }, + { "/examples/tutorials/tutorial/t9/t9" }, + { "/examples/uitools/multipleinheritance/multipleinheritance" }, + { "/examples/uitools/textfinder/textfinder" }, + { "/examples/webkit/formextractor/formExtractor" }, + { "/examples/webkit/previewer/previewer" }, + { "/examples/widgets/analogclock/analogclock" }, + { "/examples/widgets/calculator/calculator" }, + { "/examples/widgets/calendarwidget/calendarwidget" }, + { "/examples/widgets/charactermap/charactermap" }, + { "/examples/widgets/digitalclock/digitalclock" }, + { "/examples/widgets/groupbox/groupbox" }, + { "/examples/widgets/icons/icons" }, + { "/examples/widgets/imageviewer/imageviewer" }, + { "/examples/widgets/lineedits/lineedits" }, + { "/examples/widgets/movie/movie" }, + { "/examples/widgets/scribble/scribble" }, + { "/examples/widgets/shapedclock/shapedclock" }, + { "/examples/widgets/sliders/sliders" }, + { "/examples/widgets/spinboxes/spinboxes" }, + { "/examples/widgets/styles/styles" }, + { "/examples/widgets/stylesheet/stylesheet" }, + { "/examples/widgets/tablet/tablet" }, + { "/examples/widgets/tetrix/tetrix" }, + { "/examples/widgets/tooltips/tooltips" }, + { "/examples/widgets/validators/validators" }, + { "/examples/widgets/wiggly/wiggly" }, + { "/examples/widgets/windowflags/windowflags" }, + { "/examples/xml/dombookmarks/dombookmarks" }, + { "/examples/xml/rsslisting/rsslisting" }, + { "/examples/xml/saxbookmarks/saxbookmarks" }, + { "/examples/xml/streambookmarks/streambookmarks" }, + { "/examples/xml/xmlstreamlint/xmlstreamlint" }, + { "/examples/xmlpatterns/filetree/filetree" }, + { "/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel" }, + { "/examples/xmlpatterns/recipes/recipes" }, + { "/lib/libQt3Support.so.4.5.0" }, + { "/lib/libQtAssistantClient.so.4.5.0" }, + { "/lib/libQtCLucene.so.4.5.0" }, + { "/lib/libQtCore.so.4.5.0" }, + { "/lib/libQtDBus.so.4.5.0" }, + { "/lib/libQtDesigner.so.4.5.0" }, + { "/lib/libQtDesignerComponents.so.4.5.0" }, + { "/lib/libQtGui.so.4.5.0" }, + { "/lib/libQtHelp.so.4.5.0" }, + { "/lib/libQtNetwork.so.4.5.0" }, + { "/lib/libQtOpenGL.so.4.5.0" }, + { "/lib/libQtScript.so.4.5.0" }, + { "/lib/libQtScriptTools.so.4.5.0" }, + { "/lib/libQtSql.so.4.5.0" }, + { "/lib/libQtSvg.so.4.5.0" }, + { "/lib/libQtTest.so.4.5.0" }, + { "/lib/libQtUiTools.a" }, + { "/lib/libQtWebKit.so.4.5.0" }, + { "/lib/libQtXml.so.4.5.0" }, + { "/lib/libQtXmlPatterns.so.4.5.0" }, + { "/plugins/accessible/libqtaccessiblecompatwidgets.so" }, + { "/plugins/accessible/libqtaccessiblewidgets.so" }, + { "/plugins/codecs/libqcncodecs.so" }, + { "/plugins/codecs/libqjpcodecs.so" }, + { "/plugins/codecs/libqkrcodecs.so" }, + { "/plugins/codecs/libqtwcodecs.so" }, + { "/plugins/designer/libarthurplugin.so" }, + { "/plugins/designer/libcontainerextension.so" }, + { "/plugins/designer/libcustomwidgetplugin.so" }, + { "/plugins/designer/libqt3supportwidgets.so" }, + { "/plugins/designer/libqwebview.so" }, + { "/plugins/designer/libtaskmenuextension.so" }, + { "/plugins/designer/libworldtimeclockplugin.so" }, + { "/plugins/iconengines/libqsvgicon.so" }, + { "/plugins/imageformats/libqgif.so" }, + { "/plugins/imageformats/libqico.so" }, + { "/plugins/imageformats/libqjpeg.so" }, + { "/plugins/imageformats/libqmng.so" }, + { "/plugins/imageformats/libqsvg.so" }, + { "/plugins/imageformats/libqtiff.so" }, + { "/plugins/inputmethods/libqimsw-multi.so" }, + { "/plugins/script/libqtscriptdbus.so" }, + { "/plugins/sqldrivers/libqsqlite.so" }, + { "/plugins/sqldrivers/libqsqlite2.so" }, + { "/plugins/sqldrivers/libqsqlmysql.so" }, + { "/plugins/sqldrivers/libqsqlpsql.so" }, #endif }; @@ -601,25 +510,15 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath) char * const fileName = allocFileNameCopyAppend(baseQtPath, libraries[i].fileName); logFileName(fileName); - // Make old source path array - char * const oldSourcePath = allocFileNameCopyAppend(oldSourceBase, - libraries[i].sourceLocation); - - // Make new source path array - char * const newSourcePath = allocFileNameCopyAppend(baseQtPath, - libraries[i].sourceLocation); - - logDiff(oldSourcePath, newSourcePath); + logDiff(oldSourceBase, baseQtPath); // Patch BinPatch binFile(fileName); - if (!binFile.patch(oldSourcePath, newSourcePath)) { + binFile.enableInsertReplace(true); + if (!binFile.patch(oldSourceBase, baseQtPath)) result = false; - } delete[] fileName; - delete[] oldSourcePath; - delete[] newSourcePath; } return result; @@ -733,7 +632,7 @@ void replaceInTextFile(const char * fileName, f.close(); all.replace(QString(oldText), QString(newText), Qt::CaseSensitive); - if ((oldText2 != NULL) && (newText2 != NULL)) { + if (oldText2 && newText2) { all = all.replace(QString(oldText2), QString(newText2), Qt::CaseSensitive); } From 0296bd6670d61b11a0b0d231f6e7018d96151f3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Tue, 24 Feb 2009 19:29:08 +0100 Subject: [PATCH 08/12] Failed to do a compile check Learn from this. ;) --- src/tools/qtlibspatcher/qtlibspatchermain.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/tools/qtlibspatcher/qtlibspatchermain.cpp b/src/tools/qtlibspatcher/qtlibspatchermain.cpp index 45917db2ac6..1d03a5085e7 100644 --- a/src/tools/qtlibspatcher/qtlibspatchermain.cpp +++ b/src/tools/qtlibspatcher/qtlibspatchermain.cpp @@ -167,7 +167,6 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath) static const struct { const char *fileName; - const char *sourceLocation; } libraries[] = { #ifdef Q_OS_WIN { "/bin/Qt3Supportd4.dll" }, @@ -223,7 +222,7 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath) { "/bin/pixeltool" }, { "/bin/qcollectiongenerator" }, { "/bin/qdbus" }, - { "/bin/qdbuscpp2xml" } + { "/bin/qdbuscpp2xml" }, { "/bin/qdbuscpp2xml" }, { "/bin/qdbusviewer" }, { "/bin/qdbusxml2cpp" }, @@ -495,7 +494,7 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath) { "/plugins/sqldrivers/libqsqlite.so" }, { "/plugins/sqldrivers/libqsqlite2.so" }, { "/plugins/sqldrivers/libqsqlmysql.so" }, - { "/plugins/sqldrivers/libqsqlpsql.so" }, + { "/plugins/sqldrivers/libqsqlpsql.so" } #endif }; From a340a9937d60b3df789315eaf3e5cf3c72981740 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 24 Feb 2009 20:29:34 +0100 Subject: [PATCH 09/12] remove fixMac hack it's broken and nobody seems to have noticed. that might be because the interpreter doesn't care whether something is a list or a tuple. if this is reintroduced for some reason, it should be done directly in the affected code path. --- src/plugins/debugger/gdbengine.cpp | 33 ------------------------------ 1 file changed, 33 deletions(-) diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 25879e6a0ea..788e57a63e3 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -590,35 +590,6 @@ void GdbEngine::handleResponse() lastTime = QTime::currentTime(); } -#ifdef Q_OS_MAC -static void fixMac(QByteArray &out) -{ - // HACK: gdb on Mac mixes MI1 and MI2 syntax. Not nice. - // it returns: 9^done,locals={{name="a"},{name="w"}} - // instead of: 9^done,locals=[{name="a"},{name="w"}] - if (!out.contains("locals={{name")) - return; - - static const QByteArray termArray("(gdb) "); - int pos = out.indexOf(termArray); - if (pos == -1) - return; - - int pos1 = out.indexOf("={{"); - if (pos1 == -1) - return; - - int pos2 = out.indexOf("]]"); - if (pos2 == -1) - return; - - if (pos1 < pos && pos2 < pos) { - out[pos1 + 1] = '['; - out[pos2 + 1] = ']'; - } -} -#endif - void GdbEngine::readGdbStandardError() { qWarning() << "Unexpected gdb stderr:" << m_gdbProc.readAllStandardError(); @@ -637,10 +608,6 @@ void GdbEngine::readGdbStandardOutput() //qDebug() << "\n\n\nPLUGIN OUT: '" << out.data() << "'\n\n\n"; - #ifdef Q_OS_MAC - fixMac(out); - #endif - m_inbuffer.append(out); //QTC_ASSERT(!m_inbuffer.isEmpty(), return); From e00b90ccd5696baef7a5c240ad1b2da120b6e6ad Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 24 Feb 2009 20:34:30 +0100 Subject: [PATCH 10/12] rewrite gdb output receiver fixes chopping up of very long responses which quickly follow other responses. the line segmentation is done in readGdbStandardOutput() now. handleResponse() is not called through a queued slot any more, as the output receiver is already synchronized to the event loop. --- src/plugins/debugger/gdbengine.cpp | 393 +++++++++++++---------------- src/plugins/debugger/gdbengine.h | 4 +- 2 files changed, 175 insertions(+), 222 deletions(-) diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 788e57a63e3..0989993f7a5 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -341,12 +341,6 @@ void GdbEngine::gdbProcError(QProcess::ProcessError error) q->exitDebugger(); } -static void skipSpaces(const char *&from, const char *to) -{ - while (from != to && QChar(*from).isSpace()) - ++from; -} - static inline bool isNameChar(char c) { // could be 'stopped' or 'shlibs-added' @@ -369,15 +363,6 @@ static void dump(const char *first, const char *middle, const QString & to) } #endif -static void skipTerminator(const char *&from, const char *to) -{ - skipSpaces(from, to); - // skip '(gdb)' - if (from[0] == '(' && from[1] == 'g' && from[3] == 'b' && from[4] == ')') - from += 5; - skipSpaces(from, to); -} - void GdbEngine::readDebugeeOutput(const QByteArray &data) { emit applicationOutputAvailable(m_outputCodec->toUnicode( @@ -389,205 +374,179 @@ void GdbEngine::debugMessage(const QString &msg) emit gdbOutputAvailable("debug:", msg); } -// called asyncronously as response to Gdb stdout output in -// gdbResponseAvailable() -void GdbEngine::handleResponse() +void GdbEngine::handleResponse(const QByteArray &buff) { static QTime lastTime; emit gdbOutputAvailable(" ", currentTime()); - emit gdbOutputAvailable("stdout:", m_inbuffer); + emit gdbOutputAvailable("stdout:", buff); #if 0 qDebug() // << "#### start response handling #### " << currentTime() << lastTime.msecsTo(QTime::currentTime()) << "ms," - << "buf: " << m_inbuffer.left(1500) << "..." - //<< "buf: " << m_inbuffer - << "size:" << m_inbuffer.size(); + << "buf: " << buff.left(1500) << "..." + //<< "buf: " << buff + << "size:" << buff.size(); #else - //qDebug() << "buf: " << m_inbuffer; + //qDebug() << "buf: " << buff; #endif lastTime = QTime::currentTime(); - while (1) { - if (m_inbuffer.isEmpty()) + if (buff.isEmpty() || buff == "(gdb) ") + return; + + const char *from = buff.constData(); + const char *to = from + buff.size(); + const char *inner; + + int token = -1; + // token is a sequence of numbers + for (inner = from; inner != to; ++inner) + if (*inner < '0' || *inner > '9') break; - - const char *from = m_inbuffer.constData(); - // FIXME: check for line ending in '\n(gdb)\n' - const char *to = from + m_inbuffer.size(); - const char *inner; - - //const char *oldfrom = from; - - //skipSpaces(from, to); - skipTerminator(from, to); - int token = -1; - - // token is a sequence of numbers - for (inner = from; inner != to; ++inner) - if (*inner < '0' || *inner > '9') - break; - if (from != inner) { - token = QString(QByteArray(from, inner - from)).toInt(); - from = inner; - //qDebug() << "found token " << token; - } - - if (from == to) { - //qDebug() << "Returning: " << toString(); - break; - } - - // next char decides kind of record - const char c = *from++; - //qDebug() << "CODE:" << c; - - switch (c) { - case '*': - case '+': - case '=': { - QByteArray asyncClass; - for (; from != to; ++from) { - const char c = *from; - if (!isNameChar(c)) - break; - asyncClass += *from; - } - //qDebug() << "ASYNCCLASS" << asyncClass; - - GdbMi record; - while (from != to && *from == ',') { - ++from; // skip ',' - GdbMi data; - data.parseResultOrValue(from, to); - if (data.isValid()) { - //qDebug() << "parsed response: " << data.toString(); - record.m_children += data; - record.m_type = GdbMi::Tuple; - } - } - //dump(oldfrom, from, record.toString()); - skipTerminator(from, to); - m_inbuffer = QByteArray(from, to - from); - if (asyncClass == "stopped") { - handleAsyncOutput(record); - } else if (asyncClass == "running") { - // Archer has 'thread-id="all"' here - #ifdef Q_OS_MAC - } else if (asyncClass == "shlibs-updated") { - // MAC announces updated libs - } else if (asyncClass == "shlibs-added") { - // MAC announces added libs - // {shlib-info={num="2", name="libmathCommon.A_debug.dylib", - // kind="-", dyld-addr="0x7f000", reason="dyld", requested-state="Y", - // state="Y", path="/usr/lib/system/libmathCommon.A_debug.dylib", - // description="/usr/lib/system/libmathCommon.A_debug.dylib", - // loaded_addr="0x7f000", slide="0x7f000", prefix=""}} - #endif - } else { - qDebug() << "IGNORED ASYNC OUTPUT " - << asyncClass << record.toString(); - } - break; - } - - case '~': { - QByteArray data = GdbMi::parseCString(from, to); - m_pendingConsoleStreamOutput += data; - m_inbuffer = QByteArray(from, to - from); - break; - } - - case '@': { - QByteArray data = GdbMi::parseCString(from, to); - m_pendingTargetStreamOutput += data; - m_inbuffer = QByteArray(from, to - from); - break; - } - - case '&': { - QByteArray data = GdbMi::parseCString(from, to); - m_pendingLogStreamOutput += data; - m_inbuffer = QByteArray(from, to - from); - // On Windows, the contents seem to depend on the debugger - // version and/or OS version used. - if (data.startsWith("warning:")) - qq->showApplicationOutput(data); - break; - } - - case '^': { - GdbResultRecord record; - - record.token = token; - - for (inner = from; inner != to; ++inner) - if (*inner < 'a' || *inner > 'z') - break; - - QByteArray resultClass(from, inner - from); - - if (resultClass == "done") - record.resultClass = GdbResultDone; - else if (resultClass == "running") - record.resultClass = GdbResultRunning; - else if (resultClass == "connected") - record.resultClass = GdbResultConnected; - else if (resultClass == "error") - record.resultClass = GdbResultError; - else if (resultClass == "exit") - record.resultClass = GdbResultExit; - else - record.resultClass = GdbResultUnknown; - - from = inner; - skipSpaces(from, to); - if (from != to && *from == ',') { - ++from; - record.data.parseTuple_helper(from, to); - record.data.m_type = GdbMi::Tuple; - record.data.m_name = "data"; - } - skipSpaces(from, to); - skipTerminator(from, to); - - //qDebug() << "\nLOG STREAM:" + m_pendingLogStreamOutput; - //qDebug() << "\nTARGET STREAM:" + m_pendingTargetStreamOutput; - //qDebug() << "\nCONSOLE STREAM:" + m_pendingConsoleStreamOutput; - record.data.setStreamOutput("logstreamoutput", - m_pendingLogStreamOutput); - record.data.setStreamOutput("targetstreamoutput", - m_pendingTargetStreamOutput); - record.data.setStreamOutput("consolestreamoutput", - m_pendingConsoleStreamOutput); - QByteArray custom = m_customOutputForToken[token]; - if (!custom.isEmpty()) - record.data.setStreamOutput("customvaluecontents", - '{' + custom + '}'); - //m_customOutputForToken.remove(token); - m_pendingLogStreamOutput.clear(); - m_pendingTargetStreamOutput.clear(); - m_pendingConsoleStreamOutput.clear(); - - //dump(oldfrom, from, record.toString()); - m_inbuffer = QByteArray(from, to - from); - handleResultRecord(record); - break; - } - default: { - qDebug() << "FIXME: UNKNOWN CODE: " << c << " IN " << m_inbuffer; - m_inbuffer = QByteArray(from, to - from); - break; - } - } + if (from != inner) { + token = QByteArray(from, inner - from).toInt(); + from = inner; + //qDebug() << "found token " << token; } - //qDebug() << "##### end response handling ####\n\n\n" - // << currentTime() << lastTime.msecsTo(QTime::currentTime()); - lastTime = QTime::currentTime(); + // next char decides kind of record + const char c = *from++; + //qDebug() << "CODE:" << c; + switch (c) { + case '*': + case '+': + case '=': { + QByteArray asyncClass; + for (; from != to; ++from) { + const char c = *from; + if (!isNameChar(c)) + break; + asyncClass += *from; + } + //qDebug() << "ASYNCCLASS" << asyncClass; + + GdbMi record; + while (from != to) { + if (*from != ',') { + qDebug() << "MALFORMED ASYNC OUTPUT" << from; + return; + } + ++from; // skip ',' + GdbMi data; + data.parseResultOrValue(from, to); + if (data.isValid()) { + //qDebug() << "parsed response: " << data.toString(); + record.m_children += data; + record.m_type = GdbMi::Tuple; + } + } + if (asyncClass == "stopped") { + handleAsyncOutput(record); + } else if (asyncClass == "running") { + // Archer has 'thread-id="all"' here + #ifdef Q_OS_MAC + } else if (asyncClass == "shlibs-updated") { + // MAC announces updated libs + } else if (asyncClass == "shlibs-added") { + // MAC announces added libs + // {shlib-info={num="2", name="libmathCommon.A_debug.dylib", + // kind="-", dyld-addr="0x7f000", reason="dyld", requested-state="Y", + // state="Y", path="/usr/lib/system/libmathCommon.A_debug.dylib", + // description="/usr/lib/system/libmathCommon.A_debug.dylib", + // loaded_addr="0x7f000", slide="0x7f000", prefix=""}} + #endif + } else { + qDebug() << "IGNORED ASYNC OUTPUT " + << asyncClass << record.toString(); + } + break; + } + + case '~': { + m_pendingConsoleStreamOutput += GdbMi::parseCString(from, to); + break; + } + + case '@': { + m_pendingTargetStreamOutput += GdbMi::parseCString(from, to); + break; + } + + case '&': { + QByteArray data = GdbMi::parseCString(from, to); + m_pendingLogStreamOutput += data; + // On Windows, the contents seem to depend on the debugger + // version and/or OS version used. + if (data.startsWith("warning:")) + qq->showApplicationOutput(data); + break; + } + + case '^': { + GdbResultRecord record; + + record.token = token; + + for (inner = from; inner != to; ++inner) + if (*inner < 'a' || *inner > 'z') + break; + + QByteArray resultClass(from, inner - from); + + if (resultClass == "done") + record.resultClass = GdbResultDone; + else if (resultClass == "running") + record.resultClass = GdbResultRunning; + else if (resultClass == "connected") + record.resultClass = GdbResultConnected; + else if (resultClass == "error") + record.resultClass = GdbResultError; + else if (resultClass == "exit") + record.resultClass = GdbResultExit; + else + record.resultClass = GdbResultUnknown; + + from = inner; + if (from != to) { + if (*from != ',') { + qDebug() << "MALFORMED RESULT OUTPUT" << from; + return; + } + ++from; + record.data.parseTuple_helper(from, to); + record.data.m_type = GdbMi::Tuple; + record.data.m_name = "data"; + } + + //qDebug() << "\nLOG STREAM:" + m_pendingLogStreamOutput; + //qDebug() << "\nTARGET STREAM:" + m_pendingTargetStreamOutput; + //qDebug() << "\nCONSOLE STREAM:" + m_pendingConsoleStreamOutput; + record.data.setStreamOutput("logstreamoutput", + m_pendingLogStreamOutput); + record.data.setStreamOutput("targetstreamoutput", + m_pendingTargetStreamOutput); + record.data.setStreamOutput("consolestreamoutput", + m_pendingConsoleStreamOutput); + QByteArray custom = m_customOutputForToken[token]; + if (!custom.isEmpty()) + record.data.setStreamOutput("customvaluecontents", + '{' + custom + '}'); + //m_customOutputForToken.remove(token); + m_pendingLogStreamOutput.clear(); + m_pendingTargetStreamOutput.clear(); + m_pendingConsoleStreamOutput.clear(); + + handleResultRecord(record); + break; + } + default: { + qDebug() << "UNKNOWN RESPONSE TYPE" << c; + break; + } + } } void GdbEngine::readGdbStandardError() @@ -597,30 +556,26 @@ void GdbEngine::readGdbStandardError() void GdbEngine::readGdbStandardOutput() { - // This is the function called whenever the Gdb process created - // output. As a rule of thumb, stdout contains _real_ Gdb output - // as responses to our command - // and "spontaneous" events like messages on loaded shared libraries. - // OTOH, stderr contains application output produced by qDebug etc. - // There is no organized way to pass application stdout output. + m_inbuffer.append(m_gdbProc.readAllStandardOutput()); - QByteArray out = m_gdbProc.readAllStandardOutput(); - - //qDebug() << "\n\n\nPLUGIN OUT: '" << out.data() << "'\n\n\n"; - - m_inbuffer.append(out); - //QTC_ASSERT(!m_inbuffer.isEmpty(), return); - - char c = m_inbuffer[m_inbuffer.size() - 1]; - static const QByteArray termArray("(gdb) "); - if (out.indexOf(termArray) == -1 && c != 10 && c != 13) { - //qDebug() << "\n\nBuffer not yet filled, waiting for more data to arrive"; - //qDebug() << m_inbuffer.data() << m_inbuffer.size(); - //qDebug() << "\n\n"; - return; + int newstart = 0; + while (newstart < m_inbuffer.size()) { + int start = newstart; + int end = m_inbuffer.indexOf('\n', start); + if (end < 0) { + m_inbuffer.remove(0, start); + return; + } + newstart = end + 1; + if (end == start) + continue; + if (m_inbuffer.at(end - 1) == '\r') { + --end; + if (end == start) + continue; + } + handleResponse(QByteArray::fromRawData(m_inbuffer.constData() + start, end - start)); } - - emit gdbResponseAvailable(); } void GdbEngine::interruptInferior() diff --git a/src/plugins/debugger/gdbengine.h b/src/plugins/debugger/gdbengine.h index 9e6a0a9380b..7d205f513de 100644 --- a/src/plugins/debugger/gdbengine.h +++ b/src/plugins/debugger/gdbengine.h @@ -92,7 +92,6 @@ public: ~GdbEngine(); signals: - void gdbResponseAvailable(); void gdbInputAvailable(const QString &prefix, const QString &msg); void gdbOutputAvailable(const QString &prefix, const QString &msg); void applicationOutputAvailable(const QString &output); @@ -173,8 +172,6 @@ private: void updateLocals(); private slots: - void handleResponse(); - void gdbProcError(QProcess::ProcessError error); void readGdbStandardOutput(); void readGdbStandardError(); @@ -182,6 +179,7 @@ private slots: private: int terminationIndex(const QByteArray &buffer, int &length); + void handleResponse(const QByteArray &buff); void handleStart(const GdbResultRecord &response); void handleAttach(); void handleAqcuiredInferior(); From 0acae6f8ac1a4e9da928abfc1426ce1f03cb4bd9 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 24 Feb 2009 21:50:20 +0100 Subject: [PATCH 11/12] whoops ... amend output receiver rewrite - remove stale connect() - clear buffer after it was completely used --- src/plugins/debugger/gdbengine.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 0989993f7a5..66d4ce19f42 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -270,8 +270,6 @@ void GdbEngine::initializeConnections() // Output connect(&m_outputCollector, SIGNAL(byteDelivery(QByteArray)), SLOT(readDebugeeOutput(QByteArray))); - connect(this, SIGNAL(gdbResponseAvailable()), - this, SLOT(handleResponse()), Qt::QueuedConnection); connect(this, SIGNAL(gdbOutputAvailable(QString,QString)), q, SLOT(showDebuggerOutput(QString,QString)), @@ -576,6 +574,7 @@ void GdbEngine::readGdbStandardOutput() } handleResponse(QByteArray::fromRawData(m_inbuffer.constData() + start, end - start)); } + m_inbuffer.clear(); } void GdbEngine::interruptInferior() From 80e89b23a329453e8dda0f3c48053b8fbe4968c1 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 24 Feb 2009 22:36:36 +0100 Subject: [PATCH 12/12] optimize output receiver somewhat --- src/plugins/debugger/gdbengine.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 66d4ce19f42..656ade277f1 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -554,24 +554,29 @@ void GdbEngine::readGdbStandardError() void GdbEngine::readGdbStandardOutput() { + int newstart = 0; + int scan = m_inbuffer.size(); + m_inbuffer.append(m_gdbProc.readAllStandardOutput()); - int newstart = 0; while (newstart < m_inbuffer.size()) { int start = newstart; - int end = m_inbuffer.indexOf('\n', start); + int end = m_inbuffer.indexOf('\n', scan); if (end < 0) { m_inbuffer.remove(0, start); return; } newstart = end + 1; + scan = newstart; if (end == start) continue; + #ifdef Q_OS_WIN if (m_inbuffer.at(end - 1) == '\r') { --end; if (end == start) continue; } + #endif handleResponse(QByteArray::fromRawData(m_inbuffer.constData() + start, end - start)); } m_inbuffer.clear();