Merge remote-tracking branch 'origin/5.6' into 5.7

Conflicts:
	src/corelib/json/qjsonparser.cpp
	src/gui/opengl/qopengl.cpp

Change-Id: Ib4d3208398399691839e6c6eaeb9006f99e3a62b
This commit is contained in:
Liang Qi 2016-11-04 11:39:15 +01:00
commit e918605f42
23 changed files with 200 additions and 888 deletions

View File

@ -1,230 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xbel>
<xbel version="1.0">
<folder folded="yes">
<title>Literate Programming</title>
<bookmark href="http://www.vivtek.com/litprog.html">
<title>Synopsis of Literate Programming</title>
</bookmark>
<bookmark href="http://vasc.ri.cmu.edu/old_help/Programming/Literate/literate.html">
<title>Literate Programming: Propaganda and Tools</title>
</bookmark>
<bookmark href="http://www.isy.liu.se/%7Eturbell/litprog/">
<title>Literate Programming by Henrik Turbell</title>
</bookmark>
<bookmark href="http://www.desy.de/user/projects/LitProg.html">
<title>Literate Programming Library</title>
</bookmark>
<bookmark href="http://www.loria.fr/services/tex/english/litte.html">
<title>Literate Programming Basics</title>
</bookmark>
<bookmark href="http://ei.cs.vt.edu/%7Ecs5014/courseNotes/4.LiterateProgramming/literate_prog.html">
<title>Literate Programming Overview</title>
</bookmark>
<bookmark href="http://www.perl.com/pub/a/tchrist/litprog.html">
<title>POD is not Literate Programming</title>
</bookmark>
<bookmark href="http://www.cornellcollege.edu/%7Eltabak/publications/articles/swsafety.html">
<title>Computers That We Can Count On</title>
</bookmark>
<bookmark href="http://www.cs.auc.dk/%7Enormark/litpro/issues-and-problems.html">
<title>Literate Programming - Issues and Problems</title>
</bookmark>
<bookmark href="http://c2.com/cgi/wiki?LiterateProgramming">
<title>Literate Programming - Wiki Pages</title>
</bookmark>
<bookmark href="http://developers.slashdot.org/developers/02/05/19/2216233.shtml">
<title>What is well-commented code?</title>
</bookmark>
<bookmark href="http://liinwww.ira.uka.de/bibliography/SE/litprog.html">
<title>Bibliography on literate programming - A searchable bibliography</title>
</bookmark>
<bookmark href="http://www2.umassd.edu/SWPI/ProcessBibliography/bib-codereading.html">
<title>Program comprehension and code reading bibliography</title>
</bookmark>
<bookmark href="http://www.cs.auc.dk/%7Enormark/elucidative-programming/">
<title>Elucidative Programming</title>
</bookmark>
<bookmark href="http://www.msu.edu/%7Epfaffben/avl/index.html">
<title>AVL Trees (TexiWeb)</title>
</bookmark>
<bookmark href="http://literate-programming.wikiverse.org/">
<title>Literate Programming on Wikiverse</title>
</bookmark>
<bookmark href="http://www.pbrt.org/">
<title>Physically Based Rendering: From Theory to Implementation</title>
</bookmark>
</folder>
<folder folded="no">
<title>Useful C++ Links</title>
<folder folded="no">
<title>STL</title>
<bookmark href="http://www.sgi.com/tech/stl/table_of_contents.html">
<title>STL Reference Documentation</title>
</bookmark>
<bookmark href="http://www.yrl.co.uk/~phil/stl/stl.htmlx">
<title>STL Tutorial</title>
</bookmark>
<bookmark href="http://www.cppreference.com/cpp_stl.html">
<title>STL Reference</title>
</bookmark>
</folder>
<folder folded="no">
<title>Qt</title>
<bookmark href="http://doc.qt.digia.com/2.3/">
<title>Qt 2.3 Reference</title>
</bookmark>
<bookmark href="http://doc.qt.digia.com/3.3/">
<title>Qt 3.3 Reference</title>
</bookmark>
<bookmark href="http://doc.qt.digia.com/4.0/">
<title>Qt 4.0 Reference</title>
</bookmark>
<bookmark href="http://qt-project.org/">
<title>Qt Home Page</title>
</bookmark>
</folder>
<folder folded="yes">
<title>IOStreams</title>
<bookmark href="http://www.cplusplus.com/ref/iostream/index.html">
<title>IO Stream Library</title>
</bookmark>
<bookmark href="http://courses.cs.vt.edu/~cs2604/fall01/binio.html">
<title>Binary I/O</title>
</bookmark>
<bookmark href="http://www.parashift.com/c++-faq-lite/input-output.html">
<title>I/O Stream FAQ</title>
</bookmark>
</folder>
<folder folded="yes">
<title>gdb</title>
<bookmark href="http://www.cs.princeton.edu/~benjasik/gdb/gdbtut.html">
<title>GDB Tutorial</title>
</bookmark>
<bookmark href="http://www.gnu.org/manual/gdb-4.17/html_mono/gdb.html">
<title>Debugging with GDB</title>
</bookmark>
<bookmark href="http://www.cs.washington.edu/orgs/acm/tutorials/dev-in-unix/gdb-refcard.pdf">
<title>GDB Quick Reference Page (PDF) (Handy)</title>
</bookmark>
</folder>
<folder folded="yes">
<title>Classes and Constructors</title>
<bookmark href="http://www.parashift.com/c++-faq-lite/ctors.html">
<title>Constructor FAQ</title>
</bookmark>
<bookmark href="http://www.juicystudio.com/tutorial/cpp/index.html">
<title>Organizing Classes</title>
</bookmark>
</folder>
</folder>
<folder folded="yes">
<title>Software Documentation or System Documentation</title>
<bookmark href="http://www.martinfowler.com/distributedComputing/thud.html">
<title>The Almighty Thud</title>
</bookmark>
<bookmark href="http://msdn.microsoft.com/library/techart/cfr.htm">
<title>Microsoft Coding Techniques and Programming Practices</title>
</bookmark>
<bookmark href="http://www.bearcave.com/software/prog_docs.html">
<title>Software and Documentation</title>
</bookmark>
<bookmark href="http://c2.com/cgi/wiki?TheSourceCodeIsTheDesign">
<title>The Source Code is the Design</title>
</bookmark>
<bookmark href="http://www.bleading-edge.com/Publications/C++Journal/Cpjour2.htm">
<title>What is Software Design?</title>
</bookmark>
<bookmark href="http://www.mindprod.com/unmain.html">
<title>How To Write Unmaintainable Code</title>
</bookmark>
<bookmark href="http://www.idinews.com/selfDoc.html">
<title>Self Documenting Program Code Remains a Distant Goal</title>
</bookmark>
<bookmark href="http://www.sdmagazine.com/documents/s=730/sdm0106m/0106m.htm">
<title>Place Tab A in Slot B</title>
</bookmark>
<bookmark href="http://www.holub.com/class/uml/uml.html">
<title>UML Reference Card</title>
</bookmark>
</folder>
<folder folded="yes">
<title>TeX Resources</title>
<bookmark href="http://www.tug.org/">
<title>The TeX User's Group</title>
</bookmark>
<bookmark href="http://www.miktex.org/">
<title>MikTeX website</title>
</bookmark>
<bookmark href="http://cm.bell-labs.com/who/hobby/MetaPost.html">
<title>MetaPost website</title>
</bookmark>
<bookmark href="http://pauillac.inria.fr/%7Emaranget/hevea/">
<title>HEVEA is a quite complete and fast LATEX to HTML translator</title>
</bookmark>
</folder>
<folder folded="no">
<title>Portable Document Format (PDF)</title>
<bookmark href="http://www.adobe.com/">
<title>Adobe - The postscript and PDF standards</title>
</bookmark>
<bookmark href="http://partners.adobe.com/asn/developer/technotes/acrobatpdf.html">
<title>Reference Manual Portable Document Format</title>
</bookmark>
<bookmark href="http://partners.adobe.com/asn/developer/acrosdk/main.html">
<title>Adobe Acrobat Software Development Kit</title>
</bookmark>
</folder>
<folder folded="yes">
<title>Literature Sites</title>
<bookmark href="http://www.cc.columbia.edu/cu/libraries/subjects/speccol.html">
<title>Guide to Special Collections (Columbia University)</title>
</bookmark>
<bookmark href="http://www.ipl.org/ref/litcrit/">
<title>Literary Criticism on the Web from the Internet Public Library</title>
</bookmark>
<bookmark href="http://www.victorianweb.org/">
<title>Victorian Web.</title>
</bookmark>
<bookmark href="http://vos.ucsb.edu/">
<title>Voice of the Shuttle.</title>
</bookmark>
<bookmark href="http://www.modjourn.brown.edu/">
<title>Modernist Journals Project</title>
</bookmark>
<bookmark href="http://www.poetspath.com">
<title>Museum of American Poetics</title>
</bookmark>
<bookmark href="http://www.english.uiuc.edu/maps/">
<title>Modern American Poetry</title>
</bookmark>
<bookmark href="http://www.findarticles.com/">
<title>FindArticles.com</title>
</bookmark>
<bookmark href="http://www.literaryhistory.com">
<title>Literary History</title>
</bookmark>
<bookmark href="http://www.litencyc.com/LitEncycFrame.htm">
<title>Literary Encyclopedia</title>
</bookmark>
<separator/>
<bookmark href="http://texts.cdlib.org/ucpress/">
<title>The University of California Press</title>
</bookmark>
<bookmark href="http://www.letrs.indiana.edu/web/w/wright2/">
<title>Wright American Fiction, 1851-1875</title>
</bookmark>
<bookmark href="http://docsouth.unc.edu/">
<title>Documenting the American South: Beginnings to 1920</title>
</bookmark>
<bookmark href="http://etext.lib.virginia.edu/eng-on.html">
<title>Electronic Text Center at the University of Virginia</title>
</bookmark>
<bookmark href="http://digital.nypl.org/schomburg/writers_aa19/">
<title>The Schomburg Center for Research in Black Culture</title>
</bookmark>
<bookmark href="http://www.infomotions.com/alex2/">
<title>Alex Catalogue of Electronic Texts.</title>
</bookmark>
</folder>
</xbel>

View File

@ -3,60 +3,42 @@
<xbel version="1.0">
<folder folded="no">
<title>Qt Resources</title>
<folder folded="yes">
<bookmark href="http://qt.io/">
<title>Qt home page</title>
</bookmark>
<bookmark href="https://www.qt.io/partners/">
<title>Qt Partners</title>
<bookmark href="http://partners.trolltech.com/partners/training.html">
<title>Training Partners</title>
</bookmark>
<bookmark href="http://partners.trolltech.com/partners/service.html">
<title>Consultants and System Integrators</title>
</bookmark>
<bookmark href="http://partners.trolltech.com/partners/tech.html">
<title>Technology Partners</title>
</bookmark>
<bookmark href="http://partners.trolltech.com/partners/resellers.html">
<title>Value Added Resellers (VARs)</title>
</bookmark>
</folder>
</bookmark>
<bookmark href="https://www.qt.io/qt-training/">
<title>Training</title>
</bookmark>
<bookmark href="http://doc.qt.io/">
<title>Qt 5 documentation</title>
</bookmark>
<bookmark href="http://qt-project.org/faq/">
<title>Frequently Asked Questions</title>
</bookmark>
<folder folded="yes">
<title>Community Resources</title>
<bookmark href="http://www.qtcentre.org/content/">
<title>Qt Centre</title>
</bookmark>
<bookmark href="http://www.qtforum.org/">
<title>QtForum.org</title>
</bookmark>
<bookmark href="http://www.digitalfanatics.org/projects/qt_tutorial/">
<bookmark href="http://digitalfanatics.org/projects/qt_tutorial/">
<title>The Independent Qt Tutorial</title>
</bookmark>
<bookmark href="http://prog.qt.free.fr/">
<title>French PROG.Qt</title>
</bookmark>
<bookmark href="http://www.qtforum.de/">
<title>German Qt Forum</title>
</bookmark>
<bookmark href="http://www.korone.net/">
<title>Korean Qt Community Site</title>
</bookmark>
<bookmark href="http://prog.org.ru/forum/forum_14.html">
<bookmark href="http://prog.org.ru/">
<title>Russian Qt Forum</title>
</bookmark>
<bookmark href="http://qt4.digitalfanatics.org/">
<title>Digitalfanatics: The QT 4 Resource Center</title>
</bookmark>
<bookmark href="http://www.qtquestions.org/">
<title>QtQuestions</title>
</bookmark>
</folder>
<bookmark href="http://doc.qt.digia.com/qq/">
<title>Qt Quarterly</title>
</bookmark>
<bookmark href="http://qt-project.org/">
<title>Qt home page</title>
</bookmark>
<bookmark href="http://doc.qt.digia.com/4.0/">
<title>Qt 4.0 documentation</title>
</bookmark>
<bookmark href="http://qt-project.org/faq/">
<title>Frequently Asked Questions</title>
</bookmark>
</folder>
<folder folded="no">
<title>Online Dictionaries</title>
@ -73,9 +55,6 @@
<title>OneLook Dictionary Search</title>
</bookmark>
<separator/>
<bookmark href="www.iee.et.tu-dresden.de/">
<title>The New English-German Dictionary</title>
</bookmark>
<bookmark href="http://dict.tu-chemnitz.de/">
<title>TU Chemnitz German-English Dictionary</title>
</bookmark>
@ -86,8 +65,5 @@
<bookmark href="http://dictionnaires.atilf.fr/dictionnaires/ACADEMIE/">
<title>Dictionnaire de l'Académie Française</title>
</bookmark>
<bookmark href="http://elsap1.unicaen.fr/cgi-bin/cherches.cgi">
<title>Dictionnaire des synonymes</title>
</bookmark>
</folder>
</xbel>

View File

@ -1,230 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xbel>
<xbel version="1.0">
<folder folded="yes">
<title>Literate Programming</title>
<bookmark href="http://www.vivtek.com/litprog.html">
<title>Synopsis of Literate Programming</title>
</bookmark>
<bookmark href="http://vasc.ri.cmu.edu/old_help/Programming/Literate/literate.html">
<title>Literate Programming: Propaganda and Tools</title>
</bookmark>
<bookmark href="http://www.isy.liu.se/%7Eturbell/litprog/">
<title>Literate Programming by Henrik Turbell</title>
</bookmark>
<bookmark href="http://www.desy.de/user/projects/LitProg.html">
<title>Literate Programming Library</title>
</bookmark>
<bookmark href="http://www.loria.fr/services/tex/english/litte.html">
<title>Literate Programming Basics</title>
</bookmark>
<bookmark href="http://ei.cs.vt.edu/%7Ecs5014/courseNotes/4.LiterateProgramming/literate_prog.html">
<title>Literate Programming Overview</title>
</bookmark>
<bookmark href="http://www.perl.com/pub/a/tchrist/litprog.html">
<title>POD is not Literate Programming</title>
</bookmark>
<bookmark href="http://www.cornellcollege.edu/%7Eltabak/publications/articles/swsafety.html">
<title>Computers That We Can Count On</title>
</bookmark>
<bookmark href="http://www.cs.auc.dk/%7Enormark/litpro/issues-and-problems.html">
<title>Literate Programming - Issues and Problems</title>
</bookmark>
<bookmark href="http://c2.com/cgi/wiki?LiterateProgramming">
<title>Literate Programming - Wiki Pages</title>
</bookmark>
<bookmark href="http://developers.slashdot.org/developers/02/05/19/2216233.shtml">
<title>What is well-commented code?</title>
</bookmark>
<bookmark href="http://liinwww.ira.uka.de/bibliography/SE/litprog.html">
<title>Bibliography on literate programming - A searchable bibliography</title>
</bookmark>
<bookmark href="http://www2.umassd.edu/SWPI/ProcessBibliography/bib-codereading.html">
<title>Program comprehension and code reading bibliography</title>
</bookmark>
<bookmark href="http://www.cs.auc.dk/%7Enormark/elucidative-programming/">
<title>Elucidative Programming</title>
</bookmark>
<bookmark href="http://www.msu.edu/%7Epfaffben/avl/index.html">
<title>AVL Trees (TexiWeb)</title>
</bookmark>
<bookmark href="http://literate-programming.wikiverse.org/">
<title>Literate Programming on Wikiverse</title>
</bookmark>
<bookmark href="http://www.pbrt.org/">
<title>Physically Based Rendering: From Theory to Implementation</title>
</bookmark>
</folder>
<folder folded="no">
<title>Useful C++ Links</title>
<folder folded="no">
<title>STL</title>
<bookmark href="http://www.sgi.com/tech/stl/table_of_contents.html">
<title>STL Reference Documentation</title>
</bookmark>
<bookmark href="http://www.yrl.co.uk/~phil/stl/stl.htmlx">
<title>STL Tutorial</title>
</bookmark>
<bookmark href="http://www.cppreference.com/cpp_stl.html">
<title>STL Reference</title>
</bookmark>
</folder>
<folder folded="no">
<title>Qt</title>
<bookmark href="http://doc.qt.digia.com/2.3/">
<title>Qt 2.3 Reference</title>
</bookmark>
<bookmark href="http://doc.qt.digia.com/3.3/">
<title>Qt 3.3 Reference</title>
</bookmark>
<bookmark href="http://doc.qt.digia.com/4.0/">
<title>Qt 4.0 Reference</title>
</bookmark>
<bookmark href="http://qt-project.org/">
<title>Qt Home Page</title>
</bookmark>
</folder>
<folder folded="yes">
<title>IOStreams</title>
<bookmark href="http://www.cplusplus.com/ref/iostream/index.html">
<title>IO Stream Library</title>
</bookmark>
<bookmark href="http://courses.cs.vt.edu/~cs2604/fall01/binio.html">
<title>Binary I/O</title>
</bookmark>
<bookmark href="http://www.parashift.com/c++-faq-lite/input-output.html">
<title>I/O Stream FAQ</title>
</bookmark>
</folder>
<folder folded="yes">
<title>gdb</title>
<bookmark href="http://www.cs.princeton.edu/~benjasik/gdb/gdbtut.html">
<title>GDB Tutorial</title>
</bookmark>
<bookmark href="http://www.gnu.org/manual/gdb-4.17/html_mono/gdb.html">
<title>Debugging with GDB</title>
</bookmark>
<bookmark href="http://www.cs.washington.edu/orgs/acm/tutorials/dev-in-unix/gdb-refcard.pdf">
<title>GDB Quick Reference Page (PDF) (Handy)</title>
</bookmark>
</folder>
<folder folded="yes">
<title>Classes and Constructors</title>
<bookmark href="http://www.parashift.com/c++-faq-lite/ctors.html">
<title>Constructor FAQ</title>
</bookmark>
<bookmark href="http://www.juicystudio.com/tutorial/cpp/index.html">
<title>Organizing Classes</title>
</bookmark>
</folder>
</folder>
<folder folded="yes">
<title>Software Documentation or System Documentation</title>
<bookmark href="http://www.martinfowler.com/distributedComputing/thud.html">
<title>The Almighty Thud</title>
</bookmark>
<bookmark href="http://msdn.microsoft.com/library/techart/cfr.htm">
<title>Microsoft Coding Techniques and Programming Practices</title>
</bookmark>
<bookmark href="http://www.bearcave.com/software/prog_docs.html">
<title>Software and Documentation</title>
</bookmark>
<bookmark href="http://c2.com/cgi/wiki?TheSourceCodeIsTheDesign">
<title>The Source Code is the Design</title>
</bookmark>
<bookmark href="http://www.bleading-edge.com/Publications/C++Journal/Cpjour2.htm">
<title>What is Software Design?</title>
</bookmark>
<bookmark href="http://www.mindprod.com/unmain.html">
<title>How To Write Unmaintainable Code</title>
</bookmark>
<bookmark href="http://www.idinews.com/selfDoc.html">
<title>Self Documenting Program Code Remains a Distant Goal</title>
</bookmark>
<bookmark href="http://www.sdmagazine.com/documents/s=730/sdm0106m/0106m.htm">
<title>Place Tab A in Slot B</title>
</bookmark>
<bookmark href="http://www.holub.com/class/uml/uml.html">
<title>UML Reference Card</title>
</bookmark>
</folder>
<folder folded="yes">
<title>TeX Resources</title>
<bookmark href="http://www.tug.org/">
<title>The TeX User's Group</title>
</bookmark>
<bookmark href="http://www.miktex.org/">
<title>MikTeX website</title>
</bookmark>
<bookmark href="http://cm.bell-labs.com/who/hobby/MetaPost.html">
<title>MetaPost website</title>
</bookmark>
<bookmark href="http://pauillac.inria.fr/%7Emaranget/hevea/">
<title>HEVEA is a quite complete and fast LATEX to HTML translator</title>
</bookmark>
</folder>
<folder folded="no">
<title>Portable Document Format (PDF)</title>
<bookmark href="http://www.adobe.com/">
<title>Adobe - The postscript and PDF standards</title>
</bookmark>
<bookmark href="http://partners.adobe.com/asn/developer/technotes/acrobatpdf.html">
<title>Reference Manual Portable Document Format</title>
</bookmark>
<bookmark href="http://partners.adobe.com/asn/developer/acrosdk/main.html">
<title>Adobe Acrobat Software Development Kit</title>
</bookmark>
</folder>
<folder folded="yes">
<title>Literature Sites</title>
<bookmark href="http://www.cc.columbia.edu/cu/libraries/subjects/speccol.html">
<title>Guide to Special Collections (Columbia University)</title>
</bookmark>
<bookmark href="http://www.ipl.org/ref/litcrit/">
<title>Literary Criticism on the Web from the Internet Public Library</title>
</bookmark>
<bookmark href="http://www.victorianweb.org/">
<title>Victorian Web.</title>
</bookmark>
<bookmark href="http://vos.ucsb.edu/">
<title>Voice of the Shuttle.</title>
</bookmark>
<bookmark href="http://www.modjourn.brown.edu/">
<title>Modernist Journals Project</title>
</bookmark>
<bookmark href="http://www.poetspath.com">
<title>Museum of American Poetics</title>
</bookmark>
<bookmark href="http://www.english.uiuc.edu/maps/">
<title>Modern American Poetry</title>
</bookmark>
<bookmark href="http://www.findarticles.com/">
<title>FindArticles.com</title>
</bookmark>
<bookmark href="http://www.literaryhistory.com">
<title>Literary History</title>
</bookmark>
<bookmark href="http://www.litencyc.com/LitEncycFrame.htm">
<title>Literary Encyclopedia</title>
</bookmark>
<separator/>
<bookmark href="http://texts.cdlib.org/ucpress/">
<title>The University of California Press</title>
</bookmark>
<bookmark href="http://www.letrs.indiana.edu/web/w/wright2/">
<title>Wright American Fiction, 1851-1875</title>
</bookmark>
<bookmark href="http://docsouth.unc.edu/">
<title>Documenting the American South: Beginnings to 1920</title>
</bookmark>
<bookmark href="http://etext.lib.virginia.edu/eng-on.html">
<title>Electronic Text Center at the University of Virginia</title>
</bookmark>
<bookmark href="http://digital.nypl.org/schomburg/writers_aa19/">
<title>The Schomburg Center for Research in Black Culture</title>
</bookmark>
<bookmark href="http://www.infomotions.com/alex2/">
<title>Alex Catalogue of Electronic Texts.</title>
</bookmark>
</folder>
</xbel>

View File

@ -3,60 +3,42 @@
<xbel version="1.0">
<folder folded="no">
<title>Qt Resources</title>
<folder folded="yes">
<bookmark href="http://qt.io/">
<title>Qt home page</title>
</bookmark>
<bookmark href="https://www.qt.io/partners/">
<title>Qt Partners</title>
<bookmark href="http://partners.trolltech.com/partners/training.html">
<title>Training Partners</title>
</bookmark>
<bookmark href="http://partners.trolltech.com/partners/service.html">
<title>Consultants and System Integrators</title>
</bookmark>
<bookmark href="http://partners.trolltech.com/partners/tech.html">
<title>Technology Partners</title>
</bookmark>
<bookmark href="http://partners.trolltech.com/partners/resellers.html">
<title>Value Added Resellers (VARs)</title>
</bookmark>
</folder>
</bookmark>
<bookmark href="https://www.qt.io/qt-training/">
<title>Training</title>
</bookmark>
<bookmark href="http://doc.qt.io/">
<title>Qt 5 documentation</title>
</bookmark>
<bookmark href="http://qt-project.org/faq/">
<title>Frequently Asked Questions</title>
</bookmark>
<folder folded="yes">
<title>Community Resources</title>
<bookmark href="http://www.qtcentre.org/content/">
<title>Qt Centre</title>
</bookmark>
<bookmark href="http://www.qtforum.org/">
<title>QtForum.org</title>
</bookmark>
<bookmark href="http://www.digitalfanatics.org/projects/qt_tutorial/">
<bookmark href="http://digitalfanatics.org/projects/qt_tutorial/">
<title>The Independent Qt Tutorial</title>
</bookmark>
<bookmark href="http://prog.qt.free.fr/">
<title>French PROG.Qt</title>
</bookmark>
<bookmark href="http://www.qtforum.de/">
<title>German Qt Forum</title>
</bookmark>
<bookmark href="http://www.korone.net/">
<title>Korean Qt Community Site</title>
</bookmark>
<bookmark href="http://prog.org.ru/forum/forum_14.html">
<bookmark href="http://prog.org.ru/">
<title>Russian Qt Forum</title>
</bookmark>
<bookmark href="http://qt4.digitalfanatics.org/">
<title>Digitalfanatics: The QT 4 Resource Center</title>
</bookmark>
<bookmark href="http://www.qtquestions.org/">
<title>QtQuestions</title>
</bookmark>
</folder>
<bookmark href="http://doc.qt.digia.com/qq/">
<title>Qt Quarterly</title>
</bookmark>
<bookmark href="http://qt-project.org/">
<title>qt home page</title>
</bookmark>
<bookmark href="http://doc.qt.digia.com/4.0/">
<title>Qt 4.0 documentation</title>
</bookmark>
<bookmark href="http://qt-project.org/faq/">
<title>Frequently Asked Questions</title>
</bookmark>
</folder>
<folder folded="no">
<title>Online Dictionaries</title>
@ -73,9 +55,6 @@
<title>OneLook Dictionary Search</title>
</bookmark>
<separator/>
<bookmark href="www.iee.et.tu-dresden.de/">
<title>The New English-German Dictionary</title>
</bookmark>
<bookmark href="http://dict.tu-chemnitz.de/">
<title>TU Chemnitz German-English Dictionary</title>
</bookmark>
@ -86,8 +65,5 @@
<bookmark href="http://dictionnaires.atilf.fr/dictionnaires/ACADEMIE/">
<title>Dictionnaire de l'Académie Française</title>
</bookmark>
<bookmark href="http://elsap1.unicaen.fr/cgi-bin/cherches.cgi">
<title>Dictionnaire des synonymes</title>
</bookmark>
</folder>
</xbel>

View File

@ -1,230 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xbel>
<xbel version="1.0">
<folder folded="yes">
<title>Literate Programming</title>
<bookmark href="http://www.vivtek.com/litprog.html">
<title>Synopsis of Literate Programming</title>
</bookmark>
<bookmark href="http://vasc.ri.cmu.edu/old_help/Programming/Literate/literate.html">
<title>Literate Programming: Propaganda and Tools</title>
</bookmark>
<bookmark href="http://www.isy.liu.se/%7Eturbell/litprog/">
<title>Literate Programming by Henrik Turbell</title>
</bookmark>
<bookmark href="http://www.desy.de/user/projects/LitProg.html">
<title>Literate Programming Library</title>
</bookmark>
<bookmark href="http://www.loria.fr/services/tex/english/litte.html">
<title>Literate Programming Basics</title>
</bookmark>
<bookmark href="http://ei.cs.vt.edu/%7Ecs5014/courseNotes/4.LiterateProgramming/literate_prog.html">
<title>Literate Programming Overview</title>
</bookmark>
<bookmark href="http://www.perl.com/pub/a/tchrist/litprog.html">
<title>POD is not Literate Programming</title>
</bookmark>
<bookmark href="http://www.cornellcollege.edu/%7Eltabak/publications/articles/swsafety.html">
<title>Computers That We Can Count On</title>
</bookmark>
<bookmark href="http://www.cs.auc.dk/%7Enormark/litpro/issues-and-problems.html">
<title>Literate Programming - Issues and Problems</title>
</bookmark>
<bookmark href="http://c2.com/cgi/wiki?LiterateProgramming">
<title>Literate Programming - Wiki Pages</title>
</bookmark>
<bookmark href="http://developers.slashdot.org/developers/02/05/19/2216233.shtml">
<title>What is well-commented code?</title>
</bookmark>
<bookmark href="http://liinwww.ira.uka.de/bibliography/SE/litprog.html">
<title>Bibliography on literate programming - A searchable bibliography</title>
</bookmark>
<bookmark href="http://www2.umassd.edu/SWPI/ProcessBibliography/bib-codereading.html">
<title>Program comprehension and code reading bibliography</title>
</bookmark>
<bookmark href="http://www.cs.auc.dk/%7Enormark/elucidative-programming/">
<title>Elucidative Programming</title>
</bookmark>
<bookmark href="http://www.msu.edu/%7Epfaffben/avl/index.html">
<title>AVL Trees (TexiWeb)</title>
</bookmark>
<bookmark href="http://literate-programming.wikiverse.org/">
<title>Literate Programming on Wikiverse</title>
</bookmark>
<bookmark href="http://www.pbrt.org/">
<title>Physically Based Rendering: From Theory to Implementation</title>
</bookmark>
</folder>
<folder folded="no">
<title>Useful C++ Links</title>
<folder folded="no">
<title>STL</title>
<bookmark href="http://www.sgi.com/tech/stl/table_of_contents.html">
<title>STL Reference Documentation</title>
</bookmark>
<bookmark href="http://www.yrl.co.uk/~phil/stl/stl.htmlx">
<title>STL Tutorial</title>
</bookmark>
<bookmark href="http://www.cppreference.com/cpp_stl.html">
<title>STL Reference</title>
</bookmark>
</folder>
<folder folded="no">
<title>Qt</title>
<bookmark href="http://doc.qt.digia.com/2.3/">
<title>Qt 2.3 Reference</title>
</bookmark>
<bookmark href="http://doc.qt.digia.com/3.3/">
<title>Qt 3.3 Reference</title>
</bookmark>
<bookmark href="http://doc.qt.digia.com/4.0/">
<title>Qt 4.0 Reference</title>
</bookmark>
<bookmark href="http://qt-project.org/">
<title>Qt Home Page</title>
</bookmark>
</folder>
<folder folded="yes">
<title>IOStreams</title>
<bookmark href="http://www.cplusplus.com/ref/iostream/index.html">
<title>IO Stream Library</title>
</bookmark>
<bookmark href="http://courses.cs.vt.edu/~cs2604/fall01/binio.html">
<title>Binary I/O</title>
</bookmark>
<bookmark href="http://www.parashift.com/c++-faq-lite/input-output.html">
<title>I/O Stream FAQ</title>
</bookmark>
</folder>
<folder folded="yes">
<title>gdb</title>
<bookmark href="http://www.cs.princeton.edu/~benjasik/gdb/gdbtut.html">
<title>GDB Tutorial</title>
</bookmark>
<bookmark href="http://www.gnu.org/manual/gdb-4.17/html_mono/gdb.html">
<title>Debugging with GDB</title>
</bookmark>
<bookmark href="http://www.cs.washington.edu/orgs/acm/tutorials/dev-in-unix/gdb-refcard.pdf">
<title>GDB Quick Reference Page (PDF) (Handy)</title>
</bookmark>
</folder>
<folder folded="yes">
<title>Classes and Constructors</title>
<bookmark href="http://www.parashift.com/c++-faq-lite/ctors.html">
<title>Constructor FAQ</title>
</bookmark>
<bookmark href="http://www.juicystudio.com/tutorial/cpp/index.html">
<title>Organizing Classes</title>
</bookmark>
</folder>
</folder>
<folder folded="yes">
<title>Software Documentation or System Documentation</title>
<bookmark href="http://www.martinfowler.com/distributedComputing/thud.html">
<title>The Almighty Thud</title>
</bookmark>
<bookmark href="http://msdn.microsoft.com/library/techart/cfr.htm">
<title>Microsoft Coding Techniques and Programming Practices</title>
</bookmark>
<bookmark href="http://www.bearcave.com/software/prog_docs.html">
<title>Software and Documentation</title>
</bookmark>
<bookmark href="http://c2.com/cgi/wiki?TheSourceCodeIsTheDesign">
<title>The Source Code is the Design</title>
</bookmark>
<bookmark href="http://www.bleading-edge.com/Publications/C++Journal/Cpjour2.htm">
<title>What is Software Design?</title>
</bookmark>
<bookmark href="http://www.mindprod.com/unmain.html">
<title>How To Write Unmaintainable Code</title>
</bookmark>
<bookmark href="http://www.idinews.com/selfDoc.html">
<title>Self Documenting Program Code Remains a Distant Goal</title>
</bookmark>
<bookmark href="http://www.sdmagazine.com/documents/s=730/sdm0106m/0106m.htm">
<title>Place Tab A in Slot B</title>
</bookmark>
<bookmark href="http://www.holub.com/class/uml/uml.html">
<title>UML Reference Card</title>
</bookmark>
</folder>
<folder folded="yes">
<title>TeX Resources</title>
<bookmark href="http://www.tug.org/">
<title>The TeX User's Group</title>
</bookmark>
<bookmark href="http://www.miktex.org/">
<title>MikTeX website</title>
</bookmark>
<bookmark href="http://cm.bell-labs.com/who/hobby/MetaPost.html">
<title>MetaPost website</title>
</bookmark>
<bookmark href="http://pauillac.inria.fr/%7Emaranget/hevea/">
<title>HEVEA is a quite complete and fast LATEX to HTML translator</title>
</bookmark>
</folder>
<folder folded="no">
<title>Portable Document Format (PDF)</title>
<bookmark href="http://www.adobe.com/">
<title>Adobe - The postscript and PDF standards</title>
</bookmark>
<bookmark href="http://partners.adobe.com/asn/developer/technotes/acrobatpdf.html">
<title>Reference Manual Portable Document Format</title>
</bookmark>
<bookmark href="http://partners.adobe.com/asn/developer/acrosdk/main.html">
<title>Adobe Acrobat Software Development Kit</title>
</bookmark>
</folder>
<folder folded="yes">
<title>Literature Sites</title>
<bookmark href="http://www.cc.columbia.edu/cu/libraries/subjects/speccol.html">
<title>Guide to Special Collections (Columbia University)</title>
</bookmark>
<bookmark href="http://www.ipl.org/ref/litcrit/">
<title>Literary Criticism on the Web from the Internet Public Library</title>
</bookmark>
<bookmark href="http://www.victorianweb.org/">
<title>Victorian Web.</title>
</bookmark>
<bookmark href="http://vos.ucsb.edu/">
<title>Voice of the Shuttle.</title>
</bookmark>
<bookmark href="http://www.modjourn.brown.edu/">
<title>Modernist Journals Project</title>
</bookmark>
<bookmark href="http://www.poetspath.com">
<title>Museum of American Poetics</title>
</bookmark>
<bookmark href="http://www.english.uiuc.edu/maps/">
<title>Modern American Poetry</title>
</bookmark>
<bookmark href="http://www.findarticles.com/">
<title>FindArticles.com</title>
</bookmark>
<bookmark href="http://www.literaryhistory.com">
<title>Literary History</title>
</bookmark>
<bookmark href="http://www.litencyc.com/LitEncycFrame.htm">
<title>Literary Encyclopedia</title>
</bookmark>
<separator/>
<bookmark href="http://texts.cdlib.org/ucpress/">
<title>The University of California Press</title>
</bookmark>
<bookmark href="http://www.letrs.indiana.edu/web/w/wright2/">
<title>Wright American Fiction, 1851-1875</title>
</bookmark>
<bookmark href="http://docsouth.unc.edu/">
<title>Documenting the American South: Beginnings to 1920</title>
</bookmark>
<bookmark href="http://etext.lib.virginia.edu/eng-on.html">
<title>Electronic Text Center at the University of Virginia</title>
</bookmark>
<bookmark href="http://digital.nypl.org/schomburg/writers_aa19/">
<title>The Schomburg Center for Research in Black Culture</title>
</bookmark>
<bookmark href="http://www.infomotions.com/alex2/">
<title>Alex Catalogue of Electronic Texts.</title>
</bookmark>
</folder>
</xbel>

View File

@ -3,60 +3,42 @@
<xbel version="1.0">
<folder folded="no">
<title>Qt Resources</title>
<folder folded="yes">
<bookmark href="http://qt.io/">
<title>Qt home page</title>
</bookmark>
<bookmark href="https://www.qt.io/partners/">
<title>Qt Partners</title>
<bookmark href="http://partners.trolltech.com/partners/training.html">
<title>Training Partners</title>
</bookmark>
<bookmark href="http://partners.trolltech.com/partners/service.html">
<title>Consultants and System Integrators</title>
</bookmark>
<bookmark href="http://partners.trolltech.com/partners/tech.html">
<title>Technology Partners</title>
</bookmark>
<bookmark href="http://partners.trolltech.com/partners/resellers.html">
<title>Value Added Resellers (VARs)</title>
</bookmark>
</folder>
</bookmark>
<bookmark href="https://www.qt.io/qt-training/">
<title>Training</title>
</bookmark>
<bookmark href="http://doc.qt.io/">
<title>Qt 5 documentation</title>
</bookmark>
<bookmark href="http://qt-project.org/faq/">
<title>Frequently Asked Questions</title>
</bookmark>
<folder folded="yes">
<title>Community Resources</title>
<bookmark href="http://www.qtcentre.org/content/">
<title>Qt Centre</title>
</bookmark>
<bookmark href="http://www.qtforum.org/">
<title>QtForum.org</title>
</bookmark>
<bookmark href="http://www.digitalfanatics.org/projects/qt_tutorial/">
<bookmark href="http://digitalfanatics.org/projects/qt_tutorial/">
<title>The Independent Qt Tutorial</title>
</bookmark>
<bookmark href="http://prog.qt.free.fr/">
<title>French PROG.Qt</title>
</bookmark>
<bookmark href="http://www.qtforum.de/">
<title>German Qt Forum</title>
</bookmark>
<bookmark href="http://www.korone.net/">
<title>Korean Qt Community Site</title>
</bookmark>
<bookmark href="http://prog.org.ru/forum/forum_14.html">
<bookmark href="http://prog.org.ru/">
<title>Russian Qt Forum</title>
</bookmark>
<bookmark href="http://qt4.digitalfanatics.org/">
<title>Digitalfanatics: The QT 4 Resource Center</title>
</bookmark>
<bookmark href="http://www.qtquestions.org/">
<title>QtQuestions</title>
</bookmark>
</folder>
<bookmark href="http://doc.qt.digia.com/qq/">
<title>Qt Quarterly</title>
</bookmark>
<bookmark href="http://qt-project.org/">
<title>Qt home page</title>
</bookmark>
<bookmark href="http://doc.qt.digia.com/4.0/">
<title>Qt 4.0 documentation</title>
</bookmark>
<bookmark href="http://qt-project.org/faq/">
<title>Frequently Asked Questions</title>
</bookmark>
</folder>
<folder folded="no">
<title>Online Dictionaries</title>
@ -73,9 +55,6 @@
<title>OneLook Dictionary Search</title>
</bookmark>
<separator/>
<bookmark href="www.iee.et.tu-dresden.de/">
<title>The New English-German Dictionary</title>
</bookmark>
<bookmark href="http://dict.tu-chemnitz.de/">
<title>TU Chemnitz German-English Dictionary</title>
</bookmark>
@ -86,8 +65,5 @@
<bookmark href="http://dictionnaires.atilf.fr/dictionnaires/ACADEMIE/">
<title>Dictionnaire de l'Académie Française</title>
</bookmark>
<bookmark href="http://elsap1.unicaen.fr/cgi-bin/cherches.cgi">
<title>Dictionnaire des synonymes</title>
</bookmark>
</folder>
</xbel>

View File

@ -5,6 +5,7 @@
{
lex.name = Lex ${QMAKE_FILE_IN}
lex.input = LEXSOURCES
lex.dependency_type = TYPE_C
lex_included {
lex.CONFIG += no_link
} else {

View File

@ -35,6 +35,7 @@
yacc_impl.name = source for ${QMAKE_FILE_IN}
yacc_impl.input = YACCSOURCES
yacc_impl.variable_out = GENERATED_SOURCES
yacc_impl.dependency_type = TYPE_C
yacc_impl.commands = $$escape_expand(\\n) # We don't want any commands where, but if command is empty no rules are created
yacc_impl.depends += $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_H)} # Make sure we depend on the step above
yacc_impl.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_CPP)} # Faked output from this step, output really created in step above

View File

@ -222,7 +222,7 @@ bool QFileSystemEngine::fillMetaData(int fd, QFileSystemMetaData &data)
return false;
}
#if defined(QT_EXT_QNX_READDIR_R)
#if defined(_DEXTRA_FIRST)
static void fillStat64fromStat32(struct stat64 *statBuf64, const struct stat &statBuf32)
{
statBuf64->st_mode = statBuf32.st_mode;
@ -287,7 +287,7 @@ void QFileSystemMetaData::fillFromStatBuf(const QT_STATBUF &statBuffer)
void QFileSystemMetaData::fillFromDirEnt(const QT_DIRENT &entry)
{
#if defined(QT_EXT_QNX_READDIR_R)
#if defined(_DEXTRA_FIRST)
knownFlagsMask = 0;
entryFlags = 0;
for (dirent_extra *extra = _DEXTRA_FIRST(&entry); _DEXTRA_VALID(extra, &entry);

View File

@ -93,14 +93,6 @@ private:
#else
QT_DIR *dir;
QT_DIRENT *dirEntry;
#if defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_CYGWIN) || defined(QT_EXT_QNX_READDIR_R)
// for readdir_r
QScopedPointer<QT_DIRENT, QScopedPointerPodDeleter> mt_file;
#if defined(QT_EXT_QNX_READDIR_R)
// for _readdir_r
size_t direntSize;
#endif
#endif
int lastError;
#endif

View File

@ -52,9 +52,6 @@ QFileSystemIterator::QFileSystemIterator(const QFileSystemEntry &entry, QDir::Fi
: nativePath(entry.nativeFilePath())
, dir(0)
, dirEntry(0)
#if defined(Q_OS_QNX) && defined(__EXT_QNX__READDIR_R)
, direntSize(0)
#endif
, lastError(0)
{
Q_UNUSED(filters)
@ -64,32 +61,8 @@ QFileSystemIterator::QFileSystemIterator(const QFileSystemEntry &entry, QDir::Fi
if ((dir = QT_OPENDIR(nativePath.constData())) == 0) {
lastError = errno;
} else {
if (!nativePath.endsWith('/'))
nativePath.append('/');
#if defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_CYGWIN) || defined(QT_EXT_QNX_READDIR_R)
// ### Race condition; we should use fpathconf and dirfd().
size_t maxPathName = ::pathconf(nativePath.constData(), _PC_NAME_MAX);
if (maxPathName == size_t(-1))
maxPathName = FILENAME_MAX;
maxPathName += sizeof(QT_DIRENT) + 1;
QT_DIRENT *p = reinterpret_cast<QT_DIRENT*>(::malloc(maxPathName));
Q_CHECK_PTR(p);
mt_file.reset(p);
#if defined(QT_EXT_QNX_READDIR_R)
direntSize = maxPathName;
// Include extra stat information in the readdir() call (d_stat member of
// dirent_extra_stat). This is used in QFileSystemMetaData::fillFromDirEnt() to
// avoid extra stat() calls when iterating over directories
int flags = dircntl(dir, D_GETFLAG) | D_FLAG_STAT | D_FLAG_FILTER;
if (dircntl(dir, D_SETFLAG, flags) == -1)
lastError = errno;
#endif
#endif
}
}
@ -104,18 +77,7 @@ bool QFileSystemIterator::advance(QFileSystemEntry &fileEntry, QFileSystemMetaDa
if (!dir)
return false;
#if defined(QT_EXT_QNX_READDIR_R)
lastError = QT_EXT_QNX_READDIR_R(dir, mt_file.data(), &dirEntry, direntSize);
if (lastError)
return false;
#elif defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_CYGWIN)
lastError = QT_READDIR_R(dir, mt_file.data(), &dirEntry);
if (lastError)
return false;
#else
// ### add local lock to prevent breaking reentrancy
dirEntry = QT_READDIR(dir);
#endif // _POSIX_THREAD_SAFE_FUNCTIONS
if (dirEntry) {
fileEntry = QFileSystemEntry(nativePath + QByteArray(dirEntry->d_name), QFileSystemEntry::FromNativePath());

View File

@ -391,6 +391,8 @@ bool Parser::parseObject()
}
int objectOffset = reserveSpace(sizeof(QJsonPrivate::Object));
if (objectOffset < 0)
return false;
BEGIN << "parseObject pos=" << objectOffset << current << json;
ParsedObject parsedObject(this, objectOffset);
@ -423,6 +425,9 @@ bool Parser::parseObject()
if (parsedObject.offsets.size()) {
int tableSize = parsedObject.offsets.size()*sizeof(uint);
table = reserveSpace(tableSize);
if (table < 0)
return false;
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
memcpy(data + table, parsedObject.offsets.constData(), tableSize);
#else
@ -452,6 +457,8 @@ bool Parser::parseObject()
bool Parser::parseMember(int baseOffset)
{
int entryOffset = reserveSpace(sizeof(QJsonPrivate::Entry));
if (entryOffset < 0)
return false;
BEGIN << "parseMember pos=" << entryOffset;
bool latin1;
@ -475,6 +482,42 @@ bool Parser::parseMember(int baseOffset)
return true;
}
namespace {
struct ValueArray {
static const int prealloc = 128;
ValueArray() : data(stackValues), alloc(prealloc), size(0) {}
~ValueArray() { if (data != stackValues) free(data); }
inline bool grow() {
alloc *= 2;
if (data == stackValues) {
QJsonPrivate::Value *newValues = static_cast<QJsonPrivate::Value *>(malloc(alloc*sizeof(QJsonPrivate::Value)));
if (!newValues)
return false;
memcpy(newValues, data, size*sizeof(QJsonPrivate::Value));
data = newValues;
} else {
data = static_cast<QJsonPrivate::Value *>(realloc(data, alloc*sizeof(QJsonPrivate::Value)));
if (!data)
return false;
}
return true;
}
bool append(const QJsonPrivate::Value &v) {
if (alloc == size && !grow())
return false;
data[size] = v;
++size;
return true;
}
QJsonPrivate::Value stackValues[prealloc];
QJsonPrivate::Value *data;
int alloc;
int size;
};
}
/*
array = begin-array [ value *( value-separator value ) ] end-array
*/
@ -488,8 +531,10 @@ bool Parser::parseArray()
}
int arrayOffset = reserveSpace(sizeof(QJsonPrivate::Array));
if (arrayOffset < 0)
return false;
QVarLengthArray<QJsonPrivate::Value, 64> values;
ValueArray values;
if (!eatSpace()) {
lastError = QJsonParseError::UnterminatedArray;
@ -502,7 +547,10 @@ bool Parser::parseArray()
QJsonPrivate::Value val;
if (!parseValue(&val, arrayOffset))
return false;
values.append(val);
if (!values.append(val)) {
lastError = QJsonParseError::DocumentTooLarge;
return false;
}
char token = nextToken();
if (token == EndArray)
break;
@ -516,20 +564,22 @@ bool Parser::parseArray()
}
}
DEBUG << "size =" << values.size();
DEBUG << "size =" << values.size;
int table = arrayOffset;
// finalize the object
if (values.size()) {
int tableSize = values.size()*sizeof(QJsonPrivate::Value);
if (values.size) {
int tableSize = values.size*sizeof(QJsonPrivate::Value);
table = reserveSpace(tableSize);
memcpy(data + table, values.constData(), tableSize);
if (table < 0)
return false;
memcpy(data + table, values.data, tableSize);
}
QJsonPrivate::Array *a = (QJsonPrivate::Array *)(data + arrayOffset);
a->tableOffset = table - arrayOffset;
a->size = current - arrayOffset;
a->is_object = false;
a->length = values.size();
a->length = values.size;
DEBUG << "current=" << current;
END;
@ -738,6 +788,8 @@ bool Parser::parseNumber(QJsonPrivate::Value *val, int baseOffset)
}
int pos = reserveSpace(sizeof(double));
if (pos < 0)
return false;
qToLittleEndian(ui, data + pos);
if (current - baseOffset >= Value::MaxSize) {
lastError = QJsonParseError::DocumentTooLarge;
@ -856,6 +908,9 @@ bool Parser::parseString(bool *latin1)
// try to write out a latin1 string
int stringPos = reserveSpace(2);
if (stringPos < 0)
return false;
BEGIN << "parse string stringPos=" << stringPos << json;
while (json < end) {
uint ch = 0;
@ -878,6 +933,8 @@ bool Parser::parseString(bool *latin1)
break;
}
int pos = reserveSpace(1);
if (pos < 0)
return false;
DEBUG << " " << ch << (char)ch;
data[pos] = (uchar)ch;
}
@ -893,6 +950,8 @@ bool Parser::parseString(bool *latin1)
// write string length
*(QJsonPrivate::qle_ushort *)(data + stringPos) = ushort(current - outStart - sizeof(ushort));
int pos = reserveSpace((4 - current) & 3);
if (pos < 0)
return false;
while (pos & 3)
data[pos++] = 0;
END;
@ -922,10 +981,14 @@ bool Parser::parseString(bool *latin1)
}
if (QChar::requiresSurrogates(ch)) {
int pos = reserveSpace(4);
if (pos < 0)
return false;
*(QJsonPrivate::qle_ushort *)(data + pos) = QChar::highSurrogate(ch);
*(QJsonPrivate::qle_ushort *)(data + pos + 2) = QChar::lowSurrogate(ch);
} else {
int pos = reserveSpace(2);
if (pos < 0)
return false;
*(QJsonPrivate::qle_ushort *)(data + pos) = (ushort)ch;
}
}
@ -939,6 +1002,8 @@ bool Parser::parseString(bool *latin1)
// write string length
*(QJsonPrivate::qle_int *)(data + stringPos) = (current - outStart - sizeof(int))/2;
int pos = reserveSpace((4 - current) & 3);
if (pos < 0)
return false;
while (pos & 3)
data[pos++] = 0;
END;

View File

@ -108,6 +108,10 @@ private:
if (current + space >= dataLength) {
dataLength = 2*dataLength + space;
data = (char *)realloc(data, dataLength);
if (!data) {
lastError = QJsonParseError::DocumentTooLarge;
return -1;
}
}
int pos = current;
current += space;

View File

@ -187,10 +187,12 @@ void QFactoryLoader::update()
++keyUsageCount;
}
}
if (keyUsageCount || keys.isEmpty())
if (keyUsageCount || keys.isEmpty()) {
library->setLoadHints(QLibrary::PreventUnloadHint); // once loaded, don't unload
d->libraryList += library;
else
} else {
library->release();
}
}
}
#else

View File

@ -154,6 +154,7 @@ QPluginLoader::QPluginLoader(const QString &fileName, QObject *parent)
: QObject(parent), d(0), did_load(false)
{
setFileName(fileName);
setLoadHints(QLibrary::PreventUnloadHint);
}
/*!
@ -348,7 +349,7 @@ static QString locatePlugin(const QString& fileName)
void QPluginLoader::setFileName(const QString &fileName)
{
#if defined(QT_SHARED)
QLibrary::LoadHints lh;
QLibrary::LoadHints lh = QLibrary::PreventUnloadHint;
if (d) {
lh = d->loadHints();
d->release();
@ -394,7 +395,7 @@ QString QPluginLoader::errorString() const
\brief Give the load() function some hints on how it should behave.
You can give hints on how the symbols in the plugin are
resolved. By default, none of the hints are set.
resolved. By default since Qt 5.7, QLibrary::PreventUnloadHint is set.
See the documentation of QLibrary::loadHints for a complete
description of how this property works.

View File

@ -42,6 +42,10 @@
#include <QtCore/qglobal.h>
#if defined(Q_CC_MSVC) && _MSC_VER > 1500
#include <intrin.h>
#endif
QT_BEGIN_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Wdeprecated-declarations")

View File

@ -4848,6 +4848,39 @@ QString QString::fromUtf16(const ushort *unicode, int size)
return QUtf16::convertToUnicode((const char *)unicode, size*2, 0);
}
/*!
\fn QString QString::fromUtf16(const char16_t *str, int size)
\since 5.3
Returns a QString initialized with the first \a size characters
of the Unicode string \a str (ISO-10646-UTF-16 encoded).
If \a size is -1 (default), \a str must be terminated
with a 0.
This function checks for a Byte Order Mark (BOM). If it is missing,
host byte order is assumed.
This function is slow compared to the other Unicode conversions.
Use QString(const QChar *, int) or QString(const QChar *) if possible.
QString makes a deep copy of the Unicode data.
\sa utf16(), setUtf16(), fromStdU16String()
*/
/*!
\fn QString QString::fromUcs4(const char32_t *str, int size)
\since 5.3
Returns a QString initialized with the first \a size characters
of the Unicode string \a str (ISO-10646-UCS-4 encoded).
If \a size is -1 (default), \a str must be terminated
with a 0.
\sa toUcs4(), fromUtf16(), utf16(), setUtf16(), fromWCharArray(), fromStdU32String()
*/
/*!
\since 4.2

View File

@ -303,7 +303,7 @@ QPixmap QPixmapIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QIcon::St
QString key = QLatin1String("qt_")
% HexString<quint64>(pm.cacheKey())
% HexString<uint>(pe->mode)
% HexString<uint>(pe ? pe->mode : QIcon::Normal)
% HexString<quint64>(QGuiApplication::palette().cacheKey())
% HexString<uint>(actualSize.width())
% HexString<uint>(actualSize.height());

View File

@ -135,9 +135,6 @@ QDebug operator<<(QDebug d, const QOpenGLConfig::Gpu &g)
return d;
}
enum Operator { NotEqual, LessThan, LessEqualThan, Equals, GreaterThan, GreaterEqualThan };
static const char operators[][3] = {"!=", "<", "<=", "=", ">", ">="};
typedef QJsonArray::ConstIterator JsonArrayConstIt;
static inline bool contains(const QJsonArray &haystack, unsigned needle)
@ -159,6 +156,9 @@ static inline bool contains(const QJsonArray &haystack, const QString &needle)
}
namespace {
enum Operator { NotEqual, LessThan, LessEqualThan, Equals, GreaterThan, GreaterEqualThan };
static const char operators[][3] = {"!=", "<", "<=", "=", ">", ">="};
// VersionTerm describing a version term consisting of number and operator
// found in os.version and driver_version.
struct VersionTerm {

View File

@ -4508,8 +4508,10 @@ static void blend_tiled_argb(int count, const QSpan *spans, void *userData)
uint *dest = ((uint *)data->rasterBuffer->scanLine(spans->y)) + x;
op.func(dest, src, l, coverage);
x += l;
sx += l;
length -= l;
sx = 0;
if (sx >= image_width)
sx = 0;
}
++spans;
}
@ -4567,7 +4569,9 @@ static void blend_tiled_rgb565(int count, const QSpan *spans, void *userData)
memcpy(dest, src, l * sizeof(quint16));
length -= l;
tx += l;
sx = 0;
sx += l;
if (sx >= image_width)
sx = 0;
}
// Now use the rasterBuffer as the source of the texture,
@ -4600,8 +4604,10 @@ static void blend_tiled_rgb565(int count, const QSpan *spans, void *userData)
const quint16 *src = (const quint16 *)data->texture.scanLine(sy) + sx;
blend_sourceOver_rgb16_rgb16(dest, src, l, alpha, ialpha);
x += l;
sx += l;
length -= l;
sx = 0;
if (sx >= image_width)
sx = 0;
}
}
}

View File

@ -648,7 +648,7 @@ qint64 QNativeSocketEngine::readDatagram(char *data, qint64 maxlen, QIpPacketHea
QByteArray readOrigin;
// Do not read the whole datagram. Put the rest of it back into the "queue"
if (maxlen < datagram.data.length()) {
QByteArray readOrigin = datagram.data.left(maxlen);
readOrigin = datagram.data.left(maxlen);
datagram.data = datagram.data.remove(0, maxlen);
d->pendingDatagrams.prepend(datagram);
} else {

View File

@ -326,7 +326,7 @@ void QMainWindowPrivate::init()
direction.
Two dock widgets may also be stacked on top of each other. A
QTabBar is then used to select which of the widgets that should be
QTabBar is then used to select which of the widgets should be
displayed.
We give an example of how to create and add dock widgets to a

View File

@ -184,9 +184,12 @@ Qt::Corner QSizeGripPrivate::corner() const
Put this widget anywhere in a widget tree and the user can use it
to resize the top-level window or any widget with the Qt::SubWindow
flag set. Generally, this should be in the lower right-hand corner.
Note that QStatusBar already uses this widget, so if you have a
status bar (e.g., you are using QMainWindow), then you don't need
to use this widget explicitly.
to use this widget explicitly. The same goes for QDialog, for which
you can just call \l {QDialog::setSizeGripEnabled()}
{QDialog::setSizeGripEnabled()}.
On some platforms the size grip automatically hides itself when the
window is shown full screen or maximised.