qt:add
This commit is contained in:
@@ -0,0 +1,180 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import qt4
|
||||
from pisi.actionsapi import get
|
||||
|
||||
import os
|
||||
|
||||
WorkDir = "qt-everywhere-opensource-src-%s" % get.srcVERSION().replace('_','-').replace('pre1', 'tp')
|
||||
|
||||
qtbase = qt4.prefix
|
||||
absoluteWorkDir = "%s/%s" % (get.workDIR(), WorkDir)
|
||||
bindirQt4="/usr/lib/qt4/bin"
|
||||
|
||||
def setup():
|
||||
pisitools.flags.add("-I/usr/include/gtk-2.0/gdk")
|
||||
#make sure we don't use them
|
||||
checkdeletepath="%s/qtbase/src/3rdparty" % absoluteWorkDir
|
||||
for dir in ('libjpeg', 'freetype', 'libpng', 'zlib', "libtiff"):
|
||||
if os.path.exists(checkdeletepath+dir):
|
||||
shelltools.unlinkDir(checkdeletepath+dir)
|
||||
|
||||
filteredCFLAGS = get.CFLAGS().replace("-g3", "-g")
|
||||
filteredCXXFLAGS = get.CXXFLAGS().replace("-g3", "-g")
|
||||
|
||||
vars = {"PISILINUX_CC" : get.CC() + (" -m32" if get.buildTYPE() == "emul32" else ""),
|
||||
"PISILINUX_CXX": get.CXX() + (" -m32" if get.buildTYPE() == "emul32" else ""),
|
||||
"PISILINUX_CFLAGS": filteredCFLAGS + (" -m32" if get.buildTYPE() == "emul32" else ""),
|
||||
"PISILINUX_LDFLAGS": get.LDFLAGS() + (" -m32" if get.buildTYPE() == "emul32" else "")}
|
||||
|
||||
for k, v in vars.items():
|
||||
pisitools.dosed("mkspecs/common/g++-base.conf", k, v)
|
||||
pisitools.dosed("mkspecs/common/g++-unix.conf", k, v)
|
||||
|
||||
shelltools.export("CFLAGS", filteredCFLAGS)
|
||||
shelltools.export("CXXFLAGS", filteredCXXFLAGS)
|
||||
#check that dosed commands without releated patches
|
||||
pisitools.dosed("mkspecs/common/gcc-base-unix.conf", "\-Wl,\-rpath,")
|
||||
pisitools.dosed("mkspecs/common/gcc-base.conf", "\-O2", filteredCFLAGS)
|
||||
pisitools.dosed("mkspecs/common/gcc-base.conf", "^(QMAKE_LFLAGS\s+\+=)", r"\1 %s" % get.LDFLAGS())
|
||||
|
||||
if not get.buildTYPE() == "emul32":
|
||||
#-no-pch makes build ccache-friendly
|
||||
options = "-no-pch \
|
||||
-v \
|
||||
-stl \
|
||||
-fast \
|
||||
-qdbus \
|
||||
-qvfb \
|
||||
-glib \
|
||||
-no-sql-sqlite2 \
|
||||
-system-sqlite \
|
||||
-system-zlib \
|
||||
-system-libpng \
|
||||
-system-libjpeg \
|
||||
-system-libtiff \
|
||||
-system-libmng \
|
||||
-plugin-sql-sqlite \
|
||||
-plugin-sql-odbc \
|
||||
-plugin-sql-psql \
|
||||
-plugin-sql-ibase \
|
||||
-I/usr/include/firebird/ \
|
||||
-I/usr/include/postgresql/server/ \
|
||||
-release \
|
||||
-no-separate-debug-info \
|
||||
-phonon \
|
||||
-no-phonon-backend \
|
||||
-webkit \
|
||||
-no-rpath \
|
||||
-openssl-linked \
|
||||
-dbus-linked \
|
||||
-xmlpatterns \
|
||||
-opensource \
|
||||
-reduce-relocations \
|
||||
-prefix %s \
|
||||
-bindir %s \
|
||||
-libdir %s \
|
||||
-docdir %s \
|
||||
-examplesdir %s \
|
||||
-demosdir %s\
|
||||
-plugindir %s \
|
||||
-translationdir %s \
|
||||
-sysconfdir %s \
|
||||
-datadir %s \
|
||||
-importdir %s \
|
||||
-headerdir %s \
|
||||
-confirm-license " % (qt4.prefix, bindirQt4, qt4.libdir, qt4.docdir, qt4.examplesdir, qt4.demosdir, qt4.plugindir, qt4.translationdir,
|
||||
qt4.sysconfdir,
|
||||
qt4.datadir, qt4.importdir, qt4.includedir)
|
||||
else:
|
||||
pisitools.dosed("mkspecs/linux-g++-64/qmake.conf", "-m64", "-m32")
|
||||
shelltools.export("LDFLAGS", "-m32 %s" % get.LDFLAGS())
|
||||
options = "-no-pch \
|
||||
-v \
|
||||
-prefix /usr \
|
||||
-libdir /usr/lib32 \
|
||||
-plugindir /usr/lib32/qt/plugins \
|
||||
-importdir /usr/lib32/qt/imports \
|
||||
-datadir /usr/share/qt \
|
||||
-translationdir /usr/share/qt/translations \
|
||||
-sysconfdir /etc \
|
||||
-system-sqlite \
|
||||
-no-phonon \
|
||||
-no-phonon-backend \
|
||||
-webkit \
|
||||
-graphicssystem raster \
|
||||
-openssl-linked \
|
||||
-nomake demos \
|
||||
-nomake examples \
|
||||
-nomake docs \
|
||||
-nomake tools \
|
||||
-optimized-qmake \
|
||||
-no-rpath \
|
||||
-dbus-linked \
|
||||
-reduce-relocations \
|
||||
-no-openvg \
|
||||
-confirm-license \
|
||||
-opensource "
|
||||
|
||||
autotools.rawConfigure(options)
|
||||
|
||||
def build():
|
||||
shelltools.export("LD_LIBRARY_PATH", "%s/lib:%s" % (get.curDIR(), get.ENV("LD_LIBRARY_PATH")))
|
||||
autotools.make()
|
||||
|
||||
def install():
|
||||
if get.buildTYPE() == "emul32":
|
||||
qt4.install("INSTALL_ROOT=%s32" % get.installDIR())
|
||||
shelltools.move("%s32/usr/lib32" % get.installDIR(), "%s/usr" % get.installDIR())
|
||||
return
|
||||
|
||||
qt4.install()
|
||||
pisitools.dodir(qt4.bindir)
|
||||
|
||||
#Remove phonon, we use KDE's phonon but we have to build Qt with Phonon support for webkit and some other stuff
|
||||
pisitools.remove("%s/libphonon*" % qt4.libdir)
|
||||
pisitools.removeDir("%s/phonon" % qt4.includedir)
|
||||
if shelltools.isDirectory("%s/%s/phonon_backend" % (get.installDIR(), qt4.plugindir)):
|
||||
pisitools.removeDir("%s/phonon_backend" % qt4.plugindir)
|
||||
pisitools.remove("%s/pkgconfig/phonon*" % qt4.libdir)
|
||||
# Phonon 4.5 provides libphononwidgets.so file
|
||||
pisitools.remove("%s/designer/libphononwidgets.so" % qt4.plugindir)
|
||||
|
||||
#Remove lost /usr/tests directory
|
||||
pisitools.removeDir("usr/tests")
|
||||
|
||||
# Turkish translations
|
||||
shelltools.export("LD_LIBRARY_PATH", "%s%s" % (get.installDIR(), qt4.libdir))
|
||||
shelltools.system("%s%s/lrelease l10n-tr/*.ts" % (get.installDIR(), bindirQt4))
|
||||
pisitools.insinto(qt4.translationdir, "l10n-tr/*.qm")
|
||||
|
||||
# Fix all occurances of WorkDir in pc files
|
||||
pisitools.dosed("%s%s/pkgconfig/*.pc" % (get.installDIR(), qt4.libdir), "%s/qt-x11-opensource-src-%s" % (get.workDIR(), get.srcVERSION()), qt4.prefix)
|
||||
|
||||
#I hope qtchooser will manage this issue
|
||||
for bin in shelltools.ls("%s/usr/lib/qt4/bin" % get.installDIR()):
|
||||
pisitools.dosym("/usr/lib/qt4/bin/%s" % bin, "/usr/bin/%s-qt4" % bin)
|
||||
|
||||
mkspecPath = "%s/mkspecs" % qtbase
|
||||
|
||||
for root, dirs, files in os.walk("%s%s" % (get.installDIR(), qtbase)):
|
||||
# Remove unnecessary spec files..
|
||||
if root.endswith(mkspecPath):
|
||||
for dir in dirs:
|
||||
if not dir.startswith("linux") and dir not in ["common","qws","features","default"]:
|
||||
pisitools.removeDir(os.path.join(mkspecPath,dir))
|
||||
for name in files:
|
||||
if name.endswith(".prl"):
|
||||
pisitools.dosed(os.path.join(root, name), "^QMAKE_PRL_BUILD_DIR.*", "")
|
||||
|
||||
# Remove useless image directory, images of HTML docs are in doc/html/images
|
||||
pisitools.removeDir("%s/src" % qt4.docdir)
|
||||
|
||||
pisitools.dodoc("changes-*", "LGPL_EXCEPTION.txt", "LICENSE.*", "README")
|
||||
@@ -0,0 +1,32 @@
|
||||
Don't crash on broken GIF images
|
||||
|
||||
Broken GIF images could set invalid width and height
|
||||
values inside the image, leading to Qt creating a null
|
||||
QImage for it. In that case we need to abort decoding
|
||||
the image and return an error.
|
||||
|
||||
Initial patch by Rich Moore.
|
||||
|
||||
Backport of Id82a4036f478bd6e49c402d6598f57e7e5bb5e1e from Qt 5
|
||||
|
||||
Task-number: QTBUG-38367
|
||||
Change-Id: I0680740018aaa8356d267b7af3f01fac3697312a
|
||||
Security-advisory: CVE-2014-0190
|
||||
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp.QTBUG-38367 qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp.QTBUG-38367 2014-04-10 13:37:12.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp 2014-04-24 15:58:54.515862458 -0500
|
||||
@@ -359,6 +359,13 @@ int QGIFFormat::decode(QImage *image, co
|
||||
memset(bits, 0, image->byteCount());
|
||||
}
|
||||
|
||||
+ // Check if the previous attempt to create the image failed. If it
|
||||
+ // did then the image is broken and we should give up.
|
||||
+ if (image->isNull()) {
|
||||
+ state = Error;
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
disposePrevious(image);
|
||||
disposed = false;
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Exec=/usr/lib/qt4/bin/assistant
|
||||
Name=Qt4 Assistant
|
||||
Name[af]=Qt4 Assistent
|
||||
Name[ar]=معاون Qt4
|
||||
Name[az]=Qt4 Yardımçısı
|
||||
Name[bn]=কিউ-টি সহায়ক
|
||||
Name[br]=Skoazeller Qt4
|
||||
Name[bs]=Qt4 Asistent
|
||||
Name[ca]=Assistent Qt4
|
||||
Name[cs]=Qt4 asistent
|
||||
Name[cy]=Cymhorthwr Qt4
|
||||
Name[de]=Qt4-Assistent
|
||||
Name[el]=Βοηθός Qt4
|
||||
Name[eo]=Qt4-Asistilo
|
||||
Name[es]=Asistente Qt4
|
||||
Name[eu]=Qt4 laguntzailea
|
||||
Name[fa]=دستیار Qt4
|
||||
Name[fo]=Qt4-hjálpari
|
||||
Name[fy]=Qt4-assistent
|
||||
Name[hi]=क्यूटी सहायक
|
||||
Name[hr]=Qt4 Asistent
|
||||
Name[hsb]=Qt4 Asistent
|
||||
Name[ja]=Qt4 アシスタント
|
||||
Name[km]=អ្នកជំនួយការ Qt4
|
||||
Name[ko]=Qt4 도우미
|
||||
Name[lo]=ຄຳແນະນຳການໃ້ຊ້Qt4
|
||||
Name[lv]=Qt4 Asistents
|
||||
Name[mk]=Qt4-Асистент
|
||||
Name[mn]=Qt4-туслагч
|
||||
Name[ms]=Pembantu Qt4
|
||||
Name[nds]=Qt4-Hölper
|
||||
Name[nl]=Qt4 Assistent
|
||||
Name[nso]=Mothusi wa Qt4
|
||||
Name[pa]=Qt4 ਸਹਾਇਕ
|
||||
Name[pt]=Assistente do Qt4
|
||||
Name[pt_BR]=Assistente Qt4
|
||||
Name[ro]=Asistent Qt4
|
||||
Name[ru]=Помощник Qt4
|
||||
Name[rw]=Umufasha Qt4
|
||||
Name[sl]=Pomočnik za Qt4
|
||||
Name[ss]=Lisekela leQt4
|
||||
Name[ta]=Qt4 துணைவன்
|
||||
Name[tg]=Дастёри Qt4
|
||||
Name[th]=คำแนะนำการใช้ Qt4
|
||||
Name[tr]=Qt4 Asistanı
|
||||
Name[uk]=Qt4-асистент
|
||||
Name[uz]=Qt43 ёрдамчи
|
||||
Name[ven]=Qt4 Muthusi
|
||||
Name[vi]=Trợ giúp Qt4
|
||||
Name[wa]=Macrea Qt4
|
||||
Name[xh]=Qt4 Umncedi
|
||||
Name[zh_CN]=Qt4 助手
|
||||
Name[zh_TW]=Qt4 助理
|
||||
Name[zu]=Umsizi we-Qt4
|
||||
GenericName=Document Browser
|
||||
GenericName[af]=Dokument Blaaier
|
||||
GenericName[ar]=متصفح المستندات
|
||||
GenericName[az]=Sənəd Səyyahı
|
||||
GenericName[bg]=Преглед на документи
|
||||
GenericName[bn]=নথী ব্রাউজার
|
||||
GenericName[br]=Furcher Teulioù
|
||||
GenericName[bs]=Preglednik QT dokumenata
|
||||
GenericName[ca]=Navegador de documents
|
||||
GenericName[cs]=Prohlížeč dokumentace
|
||||
GenericName[cy]=Porydd Dogfen
|
||||
GenericName[da]=Dokumentfremviser
|
||||
GenericName[de]=Dokumentbrowser
|
||||
GenericName[el]=Προβολέας εγγράφων
|
||||
GenericName[eo]=Dokumentorigardilo
|
||||
GenericName[es]=Navegador de documentos
|
||||
GenericName[et]=Dokumentatsiooni brauser
|
||||
GenericName[eu]=Dokumentu arakatzailea
|
||||
GenericName[fa]=مرورگر سند
|
||||
GenericName[fi]=Asiakirjaselain
|
||||
GenericName[fo]=Skjalakagari
|
||||
GenericName[fr]=Explorateur de documentation Qt4
|
||||
GenericName[fy]=Dokumintblêder
|
||||
GenericName[ga]=Brabhsálaí Cáipéise
|
||||
GenericName[gl]=Navegador de Documentos
|
||||
GenericName[he]=דפדפן מסמכים
|
||||
GenericName[hi]=दस्तावेज़ ब्राउज़रज़र
|
||||
GenericName[hr]=Preglednik dokumenata
|
||||
GenericName[hu]=Dokumentumböngésző
|
||||
GenericName[id]=Peselancar Document
|
||||
GenericName[is]=Skjalavafri
|
||||
GenericName[it]=Visualizzatore di documenti
|
||||
GenericName[ja]=ドキュメントブラウザ
|
||||
GenericName[km]=កម្មវិធីរុករកឯកសារ
|
||||
GenericName[ko]=문서 탐색기
|
||||
GenericName[lo]=ເຄື່ອງມືເລືອກເບິ່ງແຟ້ມເອກະສານ
|
||||
GenericName[lt]=Dokumentų naršyklė
|
||||
GenericName[lv]=Dokumentu Pārlūks
|
||||
GenericName[mk]=Прелистувач на документи
|
||||
GenericName[mn]=Баримтын хөтөч
|
||||
GenericName[ms]=Pelungsur Dokumen
|
||||
GenericName[mt]=Browser ta' Dokumenti
|
||||
GenericName[nb]=Dokumentleser
|
||||
GenericName[nds]=Dokmentkieker
|
||||
GenericName[nl]=Documentbrowser
|
||||
GenericName[nn]=Dokumentlesar
|
||||
GenericName[nso]=Seinyakisi sa Tokomane
|
||||
GenericName[pa]=ਦਸਤਾਵੇਜ਼ ਝਲਕਾਰਾ
|
||||
GenericName[pl]=Przeglądarka dokumentów
|
||||
GenericName[pt]=Navegador de Documentos
|
||||
GenericName[pt_BR]=Navegador de Documentos
|
||||
GenericName[ro]=Navigator de documente
|
||||
GenericName[ru]=Программа просмотра документов
|
||||
GenericName[rw]=Mucukumbuzi w'Inyandiko
|
||||
GenericName[se]=Dokumeantalogan
|
||||
GenericName[sk]=Prehliadač dokumentácie
|
||||
GenericName[sl]=Pregledovalnik dokumentov
|
||||
GenericName[sr]=Прегледач докумената
|
||||
GenericName[sr@Latn]=Pregledač dokumenata
|
||||
GenericName[ss]=Ibrawuza yelidokhumente
|
||||
GenericName[sv]=Dokumentbläddrare
|
||||
GenericName[ta]=ஆவண உலாவி
|
||||
GenericName[tg]=Тафсири ҳуҷҷат
|
||||
GenericName[th]=เครื่องมือเลือกดูแฟ้มเอกสาร
|
||||
GenericName[tr]=Belge Tarayıcısı
|
||||
GenericName[tt]=İstälek Küzätüçe
|
||||
GenericName[uk]=Навігатор документів
|
||||
GenericName[uz]=Ҳужжат браузери
|
||||
GenericName[ven]=Buronza ya manwalwa
|
||||
GenericName[vi]=Trình duyệt tài liệu
|
||||
GenericName[wa]=Foyteu di documints
|
||||
GenericName[xh]=Umkhangeli Wencwadi Zoxwebhu
|
||||
GenericName[zh_CN]=文档浏览器
|
||||
GenericName[zh_TW]=文件閱讀器
|
||||
GenericName[zu]=Umcingi Woshicilelo
|
||||
X-KDE-StartupNotify=true
|
||||
Icon=assistant
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Qt;Development;
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,132 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Exec=/usr/lib/qt4/bin/designer
|
||||
Name=Qt4 Designer
|
||||
Name[af]=Qt4 Ontwerper
|
||||
Name[ar]=مصمم Qt4
|
||||
Name[bn]=কিউ-টি ডিসাইনার
|
||||
Name[br]=Ergrafer Qt4
|
||||
Name[ca]=Dissenyador Qt4
|
||||
Name[cs]=Qt4 designer
|
||||
Name[cy]=Dylunydd Qt4
|
||||
Name[de]=Qt4-Designer
|
||||
Name[eo]=Qt4-Desegnilo
|
||||
Name[es]=Diseñador Qt4
|
||||
Name[eu]=Qt4 diseinatzailea
|
||||
Name[fa]=Qt4 طراح
|
||||
Name[gl]=Deseñador de Qt4
|
||||
Name[hi]=क्यूटी डिज़ाइनर
|
||||
Name[hr]=Qt4 Dizajner
|
||||
Name[hsb]=Qt4 designer
|
||||
Name[is]=Qt4 hönnuðurinn
|
||||
Name[it]=Designer Qt4
|
||||
Name[ja]=Qt4 デザイナー
|
||||
Name[km]=កម្មវិធីរចនា Qt4
|
||||
Name[ko]=Qt4 디자이너
|
||||
Name[lo]=ອອກແບບສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ສຳຫັລບ Qt4
|
||||
Name[lv]=Qt4 Dizainers
|
||||
Name[mk]=Qt4-Дизајнер
|
||||
Name[mn]=Qt4-Дизайнер
|
||||
Name[ms]=Pembantu Qt4
|
||||
Name[mt]=Diżinjatur Qt4
|
||||
Name[nds]=Qt4-Designer
|
||||
Name[nso]=Mohlami wa Qt4
|
||||
Name[oc]=Dessinador Qt4
|
||||
Name[pa]=Qt4 ਡਿਜ਼ਾਈਨਰ
|
||||
Name[rw]=Umuhanzi Qt4
|
||||
Name[sl]=Snovalnik Qt4
|
||||
Name[ss]=Umhleli weQt4
|
||||
Name[sv]=Qt4 designer
|
||||
Name[ta]=Qt4 வடிவமைப்பாளர்
|
||||
Name[tg]=Тароҳи Qt4
|
||||
Name[th]=ออกแบบส่วนติดต่อผู้ใช้สำหรับ Qt4
|
||||
Name[tr]=Qt4 Tasarımcı
|
||||
Name[tt]=Qt4 Tözüçe
|
||||
Name[uk]=Дизайнер Qt4
|
||||
Name[uz]=Qt43 дизайнер
|
||||
Name[ven]=Qt4 Mufhati
|
||||
Name[vi]=Trình thiết kế Qt4
|
||||
Name[xh]=Umyili we Qt4
|
||||
Name[zh_CN]=Qt4 设计器
|
||||
Name[zh_TW]=Qt4 設計師
|
||||
Name[zu]=Umakhi we-Qt4
|
||||
GenericName=Interface Designer
|
||||
GenericName[af]=Koppelvlak Ontwerper
|
||||
GenericName[ar]=مصمم واجهات إستخدام
|
||||
GenericName[az]=Ara Üz Tərtibçisi
|
||||
GenericName[bn]=ইন্টারফেস পরিকল্পনা
|
||||
GenericName[br]=Ergrafer etrefas
|
||||
GenericName[bs]=Qt4 alat za dizajniranje interfejsa
|
||||
GenericName[ca]=Dissenyador d'interfícies
|
||||
GenericName[cs]=Návrhář rozhraní
|
||||
GenericName[cy]=Dylunydd Rhyngwyneb
|
||||
GenericName[da]=Grænsefladedesigner
|
||||
GenericName[de]=Schnittstellendesigner
|
||||
GenericName[el]=Σχεδιαστής διασυνδέσεων
|
||||
GenericName[eo]=Interfacdesegnilo
|
||||
GenericName[es]=Diseñador de interfaces
|
||||
GenericName[et]=Kasutajaliidese disainer
|
||||
GenericName[eu]=Interfaze diseinatzailea
|
||||
GenericName[fa]=طراح واسط
|
||||
GenericName[fi]=Käyttöliittymäsuunnittelija
|
||||
GenericName[fo]=Nýtaramótssniðari
|
||||
GenericName[fr]=Concepteur d'interface
|
||||
GenericName[fy]=Ynterface-ûntwerper
|
||||
GenericName[ga]=Dearthóir Comhéadain
|
||||
GenericName[gl]=Deseñador de Interfaces
|
||||
GenericName[he]=מעצב ממשקים
|
||||
GenericName[hi]=इंटरफेस डिज़ाइनर
|
||||
GenericName[hr]=Dizajner sučelja
|
||||
GenericName[hu]=Felülettervező
|
||||
GenericName[id]=Perancang Antarmuka
|
||||
GenericName[is]=Viðmótshönnun
|
||||
GenericName[it]=Disegnatore di interfacce
|
||||
GenericName[ja]=インターフェースデザイナー
|
||||
GenericName[km]=កម្មវិធីរចនាចំណុចប្រទាក់
|
||||
GenericName[ko]=인터페이스 디자이너
|
||||
GenericName[lo]=ເຄື່ອງມືອອກແບບສ່ວນຕິດຕໍ່ຜູ້ໃຊ້
|
||||
GenericName[lt]=Sąsajos kūrimo programa
|
||||
GenericName[lv]=Saskarnes Dizainers
|
||||
GenericName[mk]=Дизајнер на интерфејси
|
||||
GenericName[mn]=Гадаргуун дизайнер
|
||||
GenericName[ms]=Pereka Antaramuka
|
||||
GenericName[mt]=Diżinjatur tal-interfaċċji
|
||||
GenericName[nb]=Utforming av grensesnitt
|
||||
GenericName[nds]=Koppelsteed-Maker
|
||||
GenericName[nl]=Interface-ontwerper
|
||||
GenericName[nn]=Utforming av grensesnitt
|
||||
GenericName[nso]=Mohlami wa Interface
|
||||
GenericName[pa]=ਇੰਟਰਫੇਸ਼ ਡਿਜ਼ਾਈਨਰ
|
||||
GenericName[pl]=Projektant interfejsu
|
||||
GenericName[pt]=Editor de Interfaces
|
||||
GenericName[pt_BR]=Interface do Designer
|
||||
GenericName[ro]=Dezvoltator de interfeţe
|
||||
GenericName[ru]=Редактор интерфейса приложений Qt4
|
||||
GenericName[rw]=Umuhanzi w'Imigaragarire
|
||||
GenericName[se]=Laktahábmejeaddji
|
||||
GenericName[sk]=Návrh rozhrania
|
||||
GenericName[sl]=Snovalnik vmesnikov
|
||||
GenericName[sr]=Дизајнер интерфејса
|
||||
GenericName[sr@Latn]=Dizajner interfejsa
|
||||
GenericName[ss]=Umhleli wesichumanisi
|
||||
GenericName[sv]=Gränssnittseditor
|
||||
GenericName[ta]=முகப்புப் வடிவமைப்பாளர்
|
||||
GenericName[tg]=Тароҳи робита
|
||||
GenericName[th]=เครื่องมือออกแบบส่วนติดต่อผู้ใช้
|
||||
GenericName[tr]=Arayüz tasarım programı
|
||||
GenericName[tt]=Yözara Tözegeç
|
||||
GenericName[uk]=Дизайн інтерфейсу
|
||||
GenericName[uz]=Интерфейс дизайнери
|
||||
GenericName[ven]=Muvhati wa nga Phanda
|
||||
GenericName[vi]=Trình thiết kế giao diện
|
||||
GenericName[wa]=Dessineu d' eterfaces
|
||||
GenericName[xh]=Umyili Wezojongongano
|
||||
GenericName[zh_CN]=界面设计器
|
||||
GenericName[zh_TW]=界面設計師
|
||||
GenericName[zu]=Umakhi Womxhumanisi
|
||||
X-KDE-StartupNotify=true
|
||||
MimeType=application/x-designer;
|
||||
Icon=designer
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Qt;Development;
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
@@ -0,0 +1,128 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Exec=/usr/lib/qt4/bin/linguist
|
||||
Name=Qt4 Linguist
|
||||
Name[ar]=لغوي Qt4
|
||||
Name[bn]=কিউ-টি লিঙ্গুইস্ট
|
||||
Name[ca]=Lingüista Qt4
|
||||
Name[cy]=Ieithydd Qt4
|
||||
Name[de]=Qt4-Linguist
|
||||
Name[eo]=Qt4-Lingvisto
|
||||
Name[es]=Lingüista Qt4
|
||||
Name[fa]=Qt4 زبانشناس
|
||||
Name[fi]=Qt4 Linquist
|
||||
Name[fy]=Qt4 Linquist
|
||||
Name[gl]=Lingüista Qt4
|
||||
Name[hi]=क्यूटी लिंग्विस्ट
|
||||
Name[hr]=Qt4 Lingvist
|
||||
Name[km]=ភាសាវិទូ Qt4
|
||||
Name[ko]=Qt4 언어학자
|
||||
Name[lo]=ແປພາສາຂອງ Qt4
|
||||
Name[lv]=Qt4 Lingvists
|
||||
Name[mk]=Qt4-Јазичар
|
||||
Name[mn]=Qt4-Хэл зүй
|
||||
Name[ms]=Jurubahasa Qt4
|
||||
Name[mt]=Lingwist Qt4
|
||||
Name[nb]=Qt4-Linguist
|
||||
Name[nds]=Qt4-Linguist
|
||||
Name[nl]=Qt4 Linquist
|
||||
Name[nso]=Sekaleleme sa Qt4
|
||||
Name[pa]=Qt4 ਲੈਂਗੂਇਸਟ
|
||||
Name[pl]=Lingwista Qt4
|
||||
Name[ru]=Qt4 Лингвист
|
||||
Name[rw]=Byindimi Qt4
|
||||
Name[sl]=Jezikoslovec Qt4
|
||||
Name[sv]=Qt4 linguist
|
||||
Name[ta]=Qt4 மொழியறிஞர்
|
||||
Name[tg]=Забони Qt4
|
||||
Name[th]=แปลภาษาของ Qt4
|
||||
Name[tr]=Qt4 Dilci
|
||||
Name[tt]=Qt4 Telbelgeç
|
||||
Name[uk]=Qt4-лінгвіст
|
||||
Name[uz]=Qt4 лингвист
|
||||
Name[ven]=Qt4 Radzinyambo
|
||||
Name[vi]=Ngôn ngữ Qt4
|
||||
Name[xh]=Usolwimi we Qt4
|
||||
Name[zh_CN]=Qt4 语言家
|
||||
Name[zh_TW]=Qt4 語言學家
|
||||
Name[zu]=Owozolimi we-Qt4
|
||||
GenericName=Translation Tool
|
||||
GenericName[af]=Vertaling Program
|
||||
GenericName[ar]=أداة للترجمة
|
||||
GenericName[az]=Tərcümə Vasitəsi
|
||||
GenericName[bn]=অনুবাদ টুল
|
||||
GenericName[br]=Ostilh troidigezh
|
||||
GenericName[bs]=Alat za prevođenje
|
||||
GenericName[ca]=Eina de traducció
|
||||
GenericName[cs]=Překladatelský nástroj
|
||||
GenericName[cy]=Erfyn Cyfieithu
|
||||
GenericName[da]=Oversættelsesværktøj
|
||||
GenericName[de]=Übersetzungsprogramm
|
||||
GenericName[el]=Εργαλείο μεταφράσεων
|
||||
GenericName[eo]=Tradukilo por Qt4-programoj
|
||||
GenericName[es]=Herramienta de traducción
|
||||
GenericName[et]=Tõlkimise rakendus
|
||||
GenericName[eu]=Itzulpenerako tresnak
|
||||
GenericName[fa]=ابزار ترجمه
|
||||
GenericName[fi]=Käännöstyökalu
|
||||
GenericName[fo]=Umsetingaramboð
|
||||
GenericName[fr]=Outil de traduction
|
||||
GenericName[fy]=Fertaalprogramma
|
||||
GenericName[ga]=Uirlis Aistriúcháin
|
||||
GenericName[gl]=Ferramenta de Tradución
|
||||
GenericName[he]=כלי תרגום
|
||||
GenericName[hi]=अनुवाद औज़ार
|
||||
GenericName[hr]=Alat za prevođenje
|
||||
GenericName[hsb]=Grat za přełožowanje
|
||||
GenericName[hu]=Fordítássegítő
|
||||
GenericName[id]=Kakas Penerjemah
|
||||
GenericName[is]=Þýðingartól
|
||||
GenericName[it]=Strumento per le traduzioni
|
||||
GenericName[ja]=翻訳ツール
|
||||
GenericName[km]=កម្មវិធីបកប្រែ
|
||||
GenericName[ko]=번역 도구
|
||||
GenericName[lo]=ເຄື່ອງມືແປພາສາ
|
||||
GenericName[lt]=Vertimo įrankis
|
||||
GenericName[lv]=Tulkošanas Rīks
|
||||
GenericName[mk]=Алатка за преведување
|
||||
GenericName[mn]=Орчуулгын програм
|
||||
GenericName[ms]=Perkakasan Penterjemahan
|
||||
GenericName[mt]=Għodda tat-traduzzjoni
|
||||
GenericName[nb]=Oversettelsesverktøy
|
||||
GenericName[nds]=Warktüüch för't Översetten
|
||||
GenericName[nl]=Vertaalprogramma
|
||||
GenericName[nn]=Omsetjingsverktøy
|
||||
GenericName[nso]=Sebereka sa Thlathollo
|
||||
GenericName[pa]=ਅਨੁਵਾਦ ਸੰਦ
|
||||
GenericName[pl]=Narzędzie dla tłumaczy
|
||||
GenericName[pt]=Ferramenta de Tradução
|
||||
GenericName[pt_BR]=Ferramenta de Tradução
|
||||
GenericName[ro]=Utilitar de traducere
|
||||
GenericName[ru]=Переводчик для Qt4
|
||||
GenericName[se]=Jorgalanreaidu
|
||||
GenericName[sk]=Prekladací nástroj
|
||||
GenericName[sl]=Orodje za prevajanje
|
||||
GenericName[sr]=Алат за превођење
|
||||
GenericName[sr@Latn]=Alat za prevođenje
|
||||
GenericName[ss]=Lithulusi lekuhumusha
|
||||
GenericName[sv]=Översättningsverktyg
|
||||
GenericName[ta]=மொழிபெயர்ப்புக் கருவி
|
||||
GenericName[tg]=Тарҷумагар барои QT
|
||||
GenericName[th]=เครื่องมือแปลภาษา
|
||||
GenericName[tr]=Çeviri Aracı
|
||||
GenericName[tt]=Tärcemäläw Qoralı
|
||||
GenericName[uk]=Засіб для перекладів
|
||||
GenericName[uz]=Таржима қилиш воситаси
|
||||
GenericName[ven]=Zwishumiswa zwau Dologa
|
||||
GenericName[vi]=Công cụ dịch
|
||||
GenericName[wa]=Usteye di ratournaedje
|
||||
GenericName[xh]=Isixhobo Soguqulelo lomsebenzi kolunye ulwimi
|
||||
GenericName[zh_CN]=翻译工具
|
||||
GenericName[zh_TW]=翻譯工具
|
||||
GenericName[zu]=Ithuluzi Lokuguqulela
|
||||
X-KDE-StartupNotify=true
|
||||
MimeType=application/x-linguist;
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=linguist
|
||||
Categories=Qt;Development;
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
|
||||
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
|
||||
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
|
||||
]>
|
||||
<svg version="1.1" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="280.22" height="69.387"
|
||||
viewBox="0 0 280.22 69.387" overflow="visible" enable-background="new 0 0 280.22 69.387" xml:space="preserve">
|
||||
<path fill="#8C8C8C" d="M199.551,58.684c-0.334-6.834,2.636-22.747,9.47-21.247c2.913,0.64,2.118,4.655,1.166,9
|
||||
c-1.282,5.85-3.5,12.237-3.5,12.237s8.334,0.333,8.167,0c0.833-10.5,3.039-21.928,9.167-21.071
|
||||
c5.081,0.71-1.441,21.071-1.441,21.071s6.27,0,7.587,0c-0.272-3.453,1.59-11.495,2.635-17.311s-1.181-8.36-5.86-8.405
|
||||
s-9.314,4.044-9.314,4.044c0.182-3.498-4.429-4.05-4.429-4.05c-4.93-0.313-9.655,3.005-9.655,3.005l0.438-2.57h-7.425
|
||||
c0,0-0.365,4.088-1.867,11.549s-3.51,13.738-3.51,13.738L199.551,58.684z"/>
|
||||
<path fill="#8C8C8C" d="M250.388,32.759c-10.167,0-14.7,7.178-14.7,14.511s4.332,12.167,13.166,12.167c4.15,0,6.5-3.834,6.5-3.834
|
||||
s0.134-1.049-0.65-0.612s-2.92,1.352-5.71,1.352s-5.806-2.654-5.806-9.239c0,0,16.166,0,16,0
|
||||
C260.021,44.437,260.555,32.759,250.388,32.759z M251.871,44.136h-7.76c0-5.362,4.29-9.412,7.211-7.974
|
||||
C253.982,37.397,251.871,44.136,251.871,44.136z"/>
|
||||
<path fill="#8C8C8C" d="M154.888,32.759c-10.167,0-14.7,7.178-14.7,14.511s4.332,12.167,13.166,12.167c4.15,0,6.5-3.834,6.5-3.834
|
||||
s0.134-1.049-0.65-0.612s-2.92,1.352-5.71,1.352s-5.806-2.654-5.806-9.239c0,0,16.166,0,16,0
|
||||
C164.521,44.437,165.055,32.759,154.888,32.759z M156.371,44.136h-7.76c0-5.362,3.621-8.836,6.542-7.397
|
||||
C157.813,37.973,156.371,44.136,156.371,44.136z"/>
|
||||
<path fill="#8C8C8C" d="M268.725,59.088h-8.198c0,0,4.786-17.192,5.203-25.621c-0.072,0.072,7.11,0,7.11,0s-0.617,1.9-0.885,3.559
|
||||
c2.031-2.249,2.719-4.272,8.232-4.272c0.072,0,0,7.109,0,7.109s-5.15-1.275-7,0.574S269.354,43.77,268.725,59.088z"/>
|
||||
<path fill="#8C8C8C" d="M127.225,59.088h-8.198c0,0,4.786-17.192,5.203-25.621c-0.072,0.072,7.11,0,7.11,0s-0.617,1.9-0.885,3.559
|
||||
c2.031-2.249,2.719-4.272,8.232-4.272c0.072,0,0,7.109,0,7.109s-5.15-1.275-7,0.574S127.854,43.77,127.225,59.088z"/>
|
||||
<path fill="#8C8C8C" d="M117.227,24.633l-6.705,2.325l-1.541,6.244h-4.273v4.105h3.374c0,0-3.598,12.875-2.924,16.812
|
||||
c0.675,4.273,4.836,5.172,7.31,5.06s3.149-1.911,3.036-2.586s-3.487,0.644-3.824-2.393c-0.225-1.799,2.812-16.893,2.812-16.893
|
||||
h5.285v-4.105h-4.161L117.227,24.633z"/>
|
||||
<path fill="#8C8C8C" d="M187.104,58.691c0.994-0.821,0.33-2.463-0.53-2.661c-0.97-2.011,2.023-13.763,2.023-16.98
|
||||
s-5.397-9.671-16.53-3.599c-1.079,0.686-0.682,1.808-0.416,2.183s0.766,0.625,1,0.375c1.047-1.141,5.602-2.333,7.737-0.084
|
||||
c1.462,1.35,1.396,3.958,0.383,4.97c-1.236,0.112-13.427-0.246-14.889,7.513c-2.522,13.777,12.92,6.522,13.719,5.96
|
||||
s0.706,1.626,2.003,2.548C185.125,59.223,186.41,59.264,187.104,58.691z M179.396,52.935c-1.25,3.292-5.891,2.789-6.166,0.459
|
||||
c-1-7.792,7.041-7.209,7.041-7.209S180.646,49.643,179.396,52.935z"/>
|
||||
<path fill="#8C8C8C" d="M98.272,40.792l2.332-3.939c0,0-1.9-4.045-7.511-4.045s-8.848,4.046-8.848,8.848s10.682,8.417,8.093,13.164
|
||||
c-4.316,4.424-8.872-2.792-8.782-3.266c-0.326,0.47-2.56,3.549-2.452,3.549c0.54,1.079,2.5,4.5,8.752,4.572
|
||||
c5.179,0.06,8.309-3.776,8.417-8.523c0.108-6.366-9.172-9.604-9.28-12.517S95.144,32.375,98.272,40.792z"/>
|
||||
<path d="M86.042,31.416c-1-0.938-1.75,0.313-4,1.25s-3,0.813-5.25,0.5c-3.688-0.813-10.17-0.57-11.875,0.25
|
||||
c-11.386,4.572-5.281,13.031-3.422,14.719c-0.016,0-2.773,1.453-3.176,3.735c-0.518,2.933,0.831,4.52,0.873,4.561
|
||||
c-3.72,0.193-6.112,3.934-5.536,6.997c0.62,3.299,4.553,5.931,10.184,5.953c11.904,0.259,12.521-7.353,12.521-7.353
|
||||
c1.629-9.258-6.222-9.685-11.817-9.25c-2.025-1.809-0.445-3.496-0.531-3.496C82.917,49.728,78.158,37.12,78.158,37.12
|
||||
C81.35,36.343,87.604,32.916,86.042,31.416z M60.722,57.939c7.405,1.336,10.385-0.362,10.892,3.413
|
||||
c0.219,3.684-2.908,4.737-6.545,4.963s-6.287-1.612-6.433-3.975C58.491,59.977,60.555,60.221,60.722,57.939z M72.161,41.835
|
||||
c-0.684,3.028-2.782,5.136-4.687,4.706c-1.905-0.431-2.894-3.234-2.211-6.263c0.684-3.029,2.782-5.137,4.687-4.707
|
||||
C71.855,36.002,72.845,38.806,72.161,41.835z"/>
|
||||
<path fill="#FF3131" d="M47.141,5.199c-5.409,0-13.323-4.407-21.036-4.407S13.785,5.199,12.983,5.8
|
||||
c-0.801,0.601-1.303,2.904,1.102,2.203s4.407-0.701,8.214-0.701s12.922,5.209,22.138,5.209S61.365,5.4,63.068,2.895
|
||||
s0.1-3.306-1.202-2.704C60.563,0.792,52.15,5.199,47.141,5.199z"/>
|
||||
<path fill="#319831" d="M70.639,18.921c-5.683,0-13.997-4.406-22.1-4.406s-12.944,4.406-13.786,5.008s-1.369,2.904,1.157,2.203
|
||||
s4.63-0.701,8.629-0.701c3.999,0,13.576,5.209,23.257,5.209s17.785-7.111,19.574-9.615c1.789-2.505,0.105-3.307-1.263-2.705
|
||||
S75.901,18.921,70.639,18.921z"/>
|
||||
<path fill="#3232CC" d="M37.936,34.063c-5.893,0-14.515-4.761-22.918-4.761c-8.403,0-13.424,4.761-14.297,5.41
|
||||
s-1.419,3.137,1.2,2.379c2.62-0.757,4.802-0.757,8.949-0.757S24.949,41.96,34.99,41.96c10.04,0,18.443-7.681,20.299-10.386
|
||||
s0.109-3.57-1.31-2.921C52.56,29.302,43.393,34.063,37.936,34.063z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.0 KiB |
+11
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=Qt4 QDbusViewer
|
||||
GenericName=D-Bus Debugger
|
||||
Comment=Debug D-Bus applications
|
||||
Exec=/usr/lib/qt4/bin/qdbusviewer
|
||||
Icon=qdbusviewer
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Qt;Development;Debugger;
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=Qt4 Config
|
||||
Comment=Configure Qt4 behavior, styles, fonts
|
||||
Exec=/usr/lib/qt4/bin/qtconfig
|
||||
Icon=qt4-logo
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Qt;Settings;
|
||||
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Name=Qt4 Demo
|
||||
Comment=Show Qt4 demos and programming examples
|
||||
Comment[tr]=Qt4 demolarını ve programlama örneklerini göster
|
||||
Exec=/usr/lib/qt4/bin/qtdemo
|
||||
Icon=qt4-logo
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Development;
|
||||
@@ -0,0 +1,238 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp.cupsEnumDests 2012-11-23 10:09:53.000000000 +0000
|
||||
+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp 2013-07-03 15:30:06.232936976 +0100
|
||||
@@ -50,9 +50,19 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
+typedef int (*CupsEnumDests)(unsigned flags, int msec, int *cancel,
|
||||
+ cups_ptype_t type, cups_ptype_t mask,
|
||||
+ cups_dest_cb_t cb, void *user_data);
|
||||
+typedef http_t * (*CupsConnectDest)(cups_dest_t *dest, unsigned flags,
|
||||
+ int msec, int *cancel,
|
||||
+ char *resource, size_t resourcesize,
|
||||
+ cups_dest_cb_t cb, void *user_data);
|
||||
+typedef int (*CupsCopyDest)(cups_dest_t *dest, int num_dests,
|
||||
+ cups_dest_t **dests);
|
||||
typedef int (*CupsGetDests)(cups_dest_t **dests);
|
||||
typedef void (*CupsFreeDests)(int num_dests, cups_dest_t *dests);
|
||||
typedef const char* (*CupsGetPPD)(const char *printer);
|
||||
+typedef const char* (*CupsGetPPD2)(http_t *http, const char *printer);
|
||||
typedef int (*CupsMarkOptions)(ppd_file_t *ppd, int num_options, cups_option_t *options);
|
||||
typedef ppd_file_t* (*PPDOpenFile)(const char *filename);
|
||||
typedef void (*PPDMarkDefaults)(ppd_file_t *ppd);
|
||||
@@ -66,12 +76,24 @@ typedef const char* (*CupsLangEncoding)(
|
||||
typedef int (*CupsAddOption)(const char *name, const char *value, int num_options, cups_option_t **options);
|
||||
typedef int (*CupsTempFd)(char *name, int len);
|
||||
typedef int (*CupsPrintFile)(const char * name, const char * filename, const char * title, int num_options, cups_option_t * options);
|
||||
+typedef int (*CupsPrintFile2)(http_t *http, const char *name, const char *filename, const char *title, int num_options, cups_option_t *options);
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ cups_dest_t *printers;
|
||||
+ int num_printers;
|
||||
+} EnumDestsContext;
|
||||
|
||||
static bool cupsLoaded = false;
|
||||
static int qt_cups_num_printers = 0;
|
||||
+static cups_dest_t *qt_cups_printers = 0;
|
||||
+static CupsEnumDests _cupsEnumDests = 0;
|
||||
+static CupsConnectDest _cupsConnectDest = 0;
|
||||
+static CupsCopyDest _cupsCopyDest = 0;
|
||||
static CupsGetDests _cupsGetDests = 0;
|
||||
static CupsFreeDests _cupsFreeDests = 0;
|
||||
static CupsGetPPD _cupsGetPPD = 0;
|
||||
+static CupsGetPPD2 _cupsGetPPD2 = 0;
|
||||
static PPDOpenFile _ppdOpenFile = 0;
|
||||
static PPDMarkDefaults _ppdMarkDefaults = 0;
|
||||
static PPDClose _ppdClose = 0;
|
||||
@@ -84,14 +106,35 @@ static CupsLangEncoding _cupsLangEncodin
|
||||
static CupsAddOption _cupsAddOption = 0;
|
||||
static CupsTempFd _cupsTempFd = 0;
|
||||
static CupsPrintFile _cupsPrintFile = 0;
|
||||
+static CupsPrintFile2 _cupsPrintFile2 = 0;
|
||||
+
|
||||
+static int enum_dest_cb (void *user_data, unsigned flags, cups_dest_t *dest)
|
||||
+{
|
||||
+ EnumDestsContext *context = (EnumDestsContext *) user_data;
|
||||
+
|
||||
+ if ((flags & (CUPS_DEST_FLAGS_UNCONNECTED |
|
||||
+ CUPS_DEST_FLAGS_REMOVED |
|
||||
+ CUPS_DEST_FLAGS_ERROR |
|
||||
+ CUPS_DEST_FLAGS_RESOLVING |
|
||||
+ CUPS_DEST_FLAGS_CONNECTING |
|
||||
+ CUPS_DEST_FLAGS_CANCELED)) == 0)
|
||||
+ context->num_printers = _cupsCopyDest (dest, context->num_printers,
|
||||
+ &context->printers);
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
|
||||
static void resolveCups()
|
||||
{
|
||||
QLibrary cupsLib(QLatin1String("cups"), 2);
|
||||
if(cupsLib.load()) {
|
||||
+ _cupsEnumDests = (CupsEnumDests) cupsLib.resolve("cupsEnumDests");
|
||||
+ _cupsConnectDest = (CupsConnectDest) cupsLib.resolve("cupsConnectDest");
|
||||
+ _cupsCopyDest = (CupsCopyDest) cupsLib.resolve("cupsCopyDest");
|
||||
_cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
|
||||
_cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
|
||||
_cupsGetPPD = (CupsGetPPD) cupsLib.resolve("cupsGetPPD");
|
||||
+ _cupsGetPPD2 = (CupsGetPPD2) cupsLib.resolve("cupsGetPPD2");
|
||||
_cupsLangGet = (CupsLangGet) cupsLib.resolve("cupsLangGet");
|
||||
_cupsLangEncoding = (CupsLangEncoding) cupsLib.resolve("cupsLangEncoding");
|
||||
_ppdOpenFile = (PPDOpenFile) cupsLib.resolve("ppdOpenFile");
|
||||
@@ -104,14 +147,27 @@ static void resolveCups()
|
||||
_cupsAddOption = (CupsAddOption) cupsLib.resolve("cupsAddOption");
|
||||
_cupsTempFd = (CupsTempFd) cupsLib.resolve("cupsTempFd");
|
||||
_cupsPrintFile = (CupsPrintFile) cupsLib.resolve("cupsPrintFile");
|
||||
+ _cupsPrintFile2 = (CupsPrintFile2) cupsLib.resolve("cupsPrintFile2");
|
||||
|
||||
- if (_cupsGetDests && _cupsFreeDests) {
|
||||
- cups_dest_t *printers;
|
||||
+ if (_cupsEnumDests && _cupsCopyDest &&
|
||||
+ _cupsConnectDest && _cupsGetPPD2 &&
|
||||
+ _cupsPrintFile2) {
|
||||
+ EnumDestsContext context;
|
||||
+ context.printers = 0;
|
||||
+ context.num_printers = 0;
|
||||
+ _cupsEnumDests(0, -1, 0, 0, 0,
|
||||
+ enum_dest_cb, &context);
|
||||
+
|
||||
+ qt_cups_printers = context.printers;
|
||||
+ qt_cups_num_printers = context.num_printers;
|
||||
+ } else if (_cupsGetDests && _cupsFreeDests) {
|
||||
+ cups_dest_t *printers;
|
||||
int num_printers = _cupsGetDests(&printers);
|
||||
- if (num_printers)
|
||||
- _cupsFreeDests(num_printers, printers);
|
||||
- qt_cups_num_printers = num_printers;
|
||||
- }
|
||||
+
|
||||
+ if (num_printers)
|
||||
+ _cupsFreeDests(num_printers, printers);
|
||||
+ qt_cups_num_printers = num_printers;
|
||||
+ }
|
||||
}
|
||||
cupsLoaded = true;
|
||||
}
|
||||
@@ -134,7 +190,15 @@ QCUPSSupport::QCUPSSupport()
|
||||
return;
|
||||
|
||||
// Update the available printer count
|
||||
- qt_cups_num_printers = prnCount = _cupsGetDests(&printers);
|
||||
+ if (qt_cups_printers && _cupsCopyDest) {
|
||||
+ int i;
|
||||
+ for (i = 0; i < qt_cups_num_printers; ++i) {
|
||||
+ prnCount = _cupsCopyDest (&qt_cups_printers[i],
|
||||
+ prnCount,
|
||||
+ &printers);
|
||||
+ }
|
||||
+ } else
|
||||
+ qt_cups_num_printers = prnCount = _cupsGetDests(&printers);
|
||||
|
||||
for (int i = 0; i < prnCount; ++i) {
|
||||
if (printers[i].is_default) {
|
||||
@@ -188,7 +252,19 @@ const ppd_file_t* QCUPSSupport::setCurre
|
||||
currPPD = 0;
|
||||
page_sizes = 0;
|
||||
|
||||
- const char *ppdFile = _cupsGetPPD(printers[index].name);
|
||||
+ const char *ppdFile = 0;
|
||||
+ if (_cupsConnectDest && _cupsGetPPD2) {
|
||||
+ char resource[HTTP_MAX_URI];
|
||||
+ http_t *http = _cupsConnectDest (&printers[index], 0, -1, 0,
|
||||
+ resource, sizeof (resource),
|
||||
+ 0, 0);
|
||||
+ if (http) {
|
||||
+ char *name = strrchr (resource, '/');
|
||||
+ if (name)
|
||||
+ ppdFile = _cupsGetPPD2 (http, ++name);
|
||||
+ }
|
||||
+ } else
|
||||
+ ppdFile = _cupsGetPPD(printers[index].name);
|
||||
|
||||
if (!ppdFile)
|
||||
return 0;
|
||||
@@ -343,7 +419,29 @@ bool QCUPSSupport::printerHasPPD(const c
|
||||
{
|
||||
if (!isAvailable())
|
||||
return false;
|
||||
- const char *ppdFile = _cupsGetPPD(printerName);
|
||||
+
|
||||
+ const char *ppdFile = 0;
|
||||
+ if (_cupsConnectDest && _cupsGetPPD2) {
|
||||
+ int i;
|
||||
+ for (i = 0; i < prnCount; ++i)
|
||||
+ if (!strcmp (printers[i].name, printerName))
|
||||
+ break;
|
||||
+
|
||||
+ if (i == prnCount)
|
||||
+ return false;
|
||||
+
|
||||
+ char resource[HTTP_MAX_URI];
|
||||
+ http_t *http = _cupsConnectDest (&printers[i], 0, -1, 0,
|
||||
+ resource, sizeof (resource),
|
||||
+ 0, 0);
|
||||
+ if (http) {
|
||||
+ char *name = strrchr (resource, '/');
|
||||
+ if (name)
|
||||
+ ppdFile = _cupsGetPPD2 (http, ++name);
|
||||
+ }
|
||||
+ } else
|
||||
+ ppdFile = _cupsGetPPD(printerName);
|
||||
+
|
||||
if (ppdFile)
|
||||
unlink(ppdFile);
|
||||
return (ppdFile != 0);
|
||||
@@ -394,6 +492,26 @@ QPair<int, QString> QCUPSSupport::tempFd
|
||||
int QCUPSSupport::printFile(const char * printerName, const char * filename, const char * title,
|
||||
int num_options, cups_option_t * options)
|
||||
{
|
||||
+ if (_cupsConnectDest && _cupsPrintFile2) {
|
||||
+ int i;
|
||||
+ for (i = 0; i < prnCount; ++i)
|
||||
+ if (!strcmp (printers[i].name, printerName))
|
||||
+ break;
|
||||
+
|
||||
+ if (i != prnCount) {
|
||||
+ char resource[HTTP_MAX_URI];
|
||||
+ http_t *http = _cupsConnectDest (&printers[i], 0, -1, 0,
|
||||
+ resource, sizeof (resource),
|
||||
+ 0, 0);
|
||||
+ if (http) {
|
||||
+ char *name = strrchr (resource, '/');
|
||||
+ if (name)
|
||||
+ return _cupsPrintFile2 (http, ++name, filename, title,
|
||||
+ num_options, options);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
return _cupsPrintFile(printerName, filename, title, num_options, options);
|
||||
}
|
||||
|
||||
diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h.cupsEnumDests 2012-11-23 10:09:53.000000000 +0000
|
||||
+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h 2013-07-03 15:27:24.733343017 +0100
|
||||
@@ -92,7 +92,7 @@ public:
|
||||
|
||||
QStringList options() const;
|
||||
|
||||
- static bool printerHasPPD(const char *printerName);
|
||||
+ bool printerHasPPD(const char *printerName);
|
||||
|
||||
QString unicodeString(const char *s);
|
||||
|
||||
diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp.cupsEnumDests 2013-07-03 15:27:24.531342277 +0100
|
||||
+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp 2013-07-03 15:27:24.733343017 +0100
|
||||
@@ -844,7 +844,7 @@ void QPrinter::setPrinterName(const QStr
|
||||
if(d->use_default_engine
|
||||
&& d->outputFormat == QPrinter::NativeFormat) {
|
||||
if (QCUPSSupport::cupsVersion() >= 10200
|
||||
- && QCUPSSupport::printerHasPPD(name.toLocal8Bit().constData()))
|
||||
+ && QCUPSSupport().printerHasPPD(name.toLocal8Bit().constData()))
|
||||
setOutputFormat(QPrinter::PdfFormat);
|
||||
else
|
||||
setOutputFormat(QPrinter::PostScriptFormat);
|
||||
@@ -0,0 +1,84 @@
|
||||
diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-11 16:55:22.000000000 +0100
|
||||
+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-28 04:34:16.000000000 +0100
|
||||
@@ -569,6 +569,32 @@
|
||||
void QPrintDialogPrivate::selectPrinter(QCUPSSupport *cups)
|
||||
{
|
||||
options.duplex->setEnabled(cups && cups->ppdOption("Duplex"));
|
||||
+
|
||||
+ if (cups) {
|
||||
+ const ppd_option_t* duplex = cups->ppdOption("Duplex");
|
||||
+ if (duplex) {
|
||||
+ // copy default ppd duplex to qt dialog
|
||||
+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
|
||||
+ options.duplexShort->setChecked(true);
|
||||
+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
|
||||
+ options.duplexLong->setChecked(true);
|
||||
+ else
|
||||
+ options.noDuplex->setChecked(true);
|
||||
+ }
|
||||
+
|
||||
+ if (cups->currentPPD()) {
|
||||
+ // set default color
|
||||
+ if (cups->currentPPD()->color_device)
|
||||
+ options.color->setChecked(true);
|
||||
+ else
|
||||
+ options.grayscale->setChecked(true);
|
||||
+ }
|
||||
+
|
||||
+ // set collation
|
||||
+ const ppd_option_t *collate = cups->ppdOption("Collate");
|
||||
+ if (collate)
|
||||
+ options.collate->setChecked(qstrcmp(collate->defchoice, "True")==0);
|
||||
+ }
|
||||
}
|
||||
#endif
|
||||
|
||||
diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp
|
||||
--- qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp 2010-02-11 16:55:22.000000000 +0100
|
||||
+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp 2010-02-28 04:55:15.000000000 +0100
|
||||
@@ -627,6 +627,44 @@
|
||||
&& d_ptr->paintEngine->type() != QPaintEngine::MacPrinter) {
|
||||
setOutputFormat(QPrinter::PdfFormat);
|
||||
}
|
||||
+
|
||||
+#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
|
||||
+ // fill in defaults from ppd file
|
||||
+ QCUPSSupport cups;
|
||||
+
|
||||
+ int printernum = -1;
|
||||
+ for (int i = 0; i < cups.availablePrintersCount(); i++) {
|
||||
+ if (printerName().toLocal8Bit() == cups.availablePrinters()[i].name)
|
||||
+ printernum = i;
|
||||
+ }
|
||||
+ if (printernum >= 0) {
|
||||
+ cups.setCurrentPrinter(printernum);
|
||||
+
|
||||
+ const ppd_option_t* duplex = cups.ppdOption("Duplex");
|
||||
+ if (duplex) {
|
||||
+ // copy default ppd duplex to qt dialog
|
||||
+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
|
||||
+ setDuplex(DuplexShortSide);
|
||||
+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
|
||||
+ setDuplex(DuplexLongSide);
|
||||
+ else
|
||||
+ setDuplex(DuplexNone);
|
||||
+ }
|
||||
+
|
||||
+ if (cups.currentPPD()) {
|
||||
+ // set default color
|
||||
+ if (cups.currentPPD()->color_device)
|
||||
+ setColorMode(Color);
|
||||
+ else
|
||||
+ setColorMode(GrayScale);
|
||||
+ }
|
||||
+
|
||||
+ // set collation
|
||||
+ const ppd_option_t *collate = cups.ppdOption("Collate");
|
||||
+ if (collate)
|
||||
+ setCollateCopies(qstrcmp(collate->defchoice, "True")==0);
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
|
||||
/*!
|
||||
+69
@@ -0,0 +1,69 @@
|
||||
diff -ur qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp
|
||||
--- qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-06-02 04:03:15.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-12-08 22:22:38.000000000 +0100
|
||||
@@ -76,7 +76,7 @@
|
||||
GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s);
|
||||
return (XEventsQueued(X11->display, QueuedAfterFlush)
|
||||
|| (!(source->flags & QEventLoop::ExcludeUserInputEvents)
|
||||
- && !source->d->queuedUserInputEvents.isEmpty()));
|
||||
+ && source->d && !source->d->queuedUserInputEvents.isEmpty()));
|
||||
}
|
||||
|
||||
static gboolean x11EventSourceCheck(GSource *s)
|
||||
@@ -84,7 +84,7 @@
|
||||
GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s);
|
||||
return (XEventsQueued(X11->display, QueuedAfterFlush)
|
||||
|| (!(source->flags & QEventLoop::ExcludeUserInputEvents)
|
||||
- && !source->d->queuedUserInputEvents.isEmpty()));
|
||||
+ && source->d && !source->d->queuedUserInputEvents.isEmpty()));
|
||||
}
|
||||
|
||||
static gboolean x11EventSourceDispatch(GSource *s, GSourceFunc callback, gpointer user_data)
|
||||
@@ -95,7 +95,7 @@
|
||||
do {
|
||||
XEvent event;
|
||||
if (!(source->flags & QEventLoop::ExcludeUserInputEvents)
|
||||
- && !source->d->queuedUserInputEvents.isEmpty()) {
|
||||
+ && source->d && !source->d->queuedUserInputEvents.isEmpty()) {
|
||||
// process a pending user input event
|
||||
event = source->d->queuedUserInputEvents.takeFirst();
|
||||
} else if (XEventsQueued(X11->display, QueuedAlready)) {
|
||||
@@ -112,7 +112,8 @@
|
||||
case XKeyRelease:
|
||||
case EnterNotify:
|
||||
case LeaveNotify:
|
||||
- source->d->queuedUserInputEvents.append(event);
|
||||
+ if (source->d)
|
||||
+ source->d->queuedUserInputEvents.append(event);
|
||||
continue;
|
||||
|
||||
case ClientMessage:
|
||||
@@ -127,7 +128,8 @@
|
||||
break;
|
||||
}
|
||||
}
|
||||
- source->d->queuedUserInputEvents.append(event);
|
||||
+ if (source->d)
|
||||
+ source->d->queuedUserInputEvents.append(event);
|
||||
continue;
|
||||
|
||||
default:
|
||||
@@ -140,7 +142,7 @@
|
||||
}
|
||||
|
||||
// send through event filter
|
||||
- if (source->q->filterEvent(&event))
|
||||
+ if (source->q && source->q->filterEvent(&event))
|
||||
continue;
|
||||
|
||||
if (qApp->x11ProcessEvent(&event) == 1)
|
||||
@@ -152,7 +154,8 @@
|
||||
|
||||
out:
|
||||
|
||||
- source->d->runTimersOnceWithNormalPriority();
|
||||
+ if (source->d)
|
||||
+ source->d->runTimersOnceWithNormalPriority();
|
||||
|
||||
if (callback)
|
||||
callback(user_data);
|
||||
@@ -0,0 +1,41 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h
|
||||
--- qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 2011-10-03 22:44:32.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h 2011-10-15 14:25:52.238694974 -0500
|
||||
@@ -769,26 +769,18 @@ Q_OUTOFLINE_TEMPLATE void QList<T>::clea
|
||||
template <typename T>
|
||||
Q_OUTOFLINE_TEMPLATE int QList<T>::removeAll(const T &_t)
|
||||
{
|
||||
- int index = indexOf(_t);
|
||||
- if (index == -1)
|
||||
- return 0;
|
||||
-
|
||||
+ detachShared();
|
||||
const T t = _t;
|
||||
- detach();
|
||||
-
|
||||
- Node *i = reinterpret_cast<Node *>(p.at(index));
|
||||
- Node *e = reinterpret_cast<Node *>(p.end());
|
||||
- Node *n = i;
|
||||
- node_destruct(i);
|
||||
- while (++i != e) {
|
||||
- if (i->t() == t)
|
||||
- node_destruct(i);
|
||||
- else
|
||||
- *n++ = *i;
|
||||
- }
|
||||
-
|
||||
- int removedCount = e - n;
|
||||
- d->end -= removedCount;
|
||||
+ int removedCount=0, i=0;
|
||||
+ Node *n;
|
||||
+ while (i < p.size())
|
||||
+ if ((n = reinterpret_cast<Node *>(p.at(i)))->t() == t) {
|
||||
+ node_destruct(n);
|
||||
+ p.remove(i);
|
||||
+ ++removedCount;
|
||||
+ } else {
|
||||
+ ++i;
|
||||
+ }
|
||||
return removedCount;
|
||||
}
|
||||
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf
|
||||
--- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf 2011-05-25 13:39:38.789054074 +0200
|
||||
@@ -12,6 +12,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
|
||||
QMAKE_CFLAGS = -m32
|
||||
QMAKE_LFLAGS = -m32
|
||||
|
||||
+QMAKE_CFLAGS_RELEASE += -O2
|
||||
+
|
||||
include(../common/linux.conf)
|
||||
include(../common/gcc-base-unix.conf)
|
||||
include(../common/g++-unix.conf)
|
||||
diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf
|
||||
--- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf 2011-05-25 13:39:47.460747770 +0200
|
||||
@@ -15,6 +15,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
|
||||
QMAKE_CFLAGS = -m64
|
||||
QMAKE_LFLAGS = -m64
|
||||
|
||||
+QMAKE_CFLAGS_RELEASE += -O2
|
||||
+
|
||||
include(../common/linux.conf)
|
||||
include(../common/gcc-base-unix.conf)
|
||||
include(../common/g++-unix.conf)
|
||||
diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf
|
||||
--- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf 2011-05-25 13:39:26.630088814 +0200
|
||||
@@ -9,6 +9,8 @@ CONFIG += qt warn_on release increment
|
||||
QT += core gui
|
||||
QMAKE_INCREMENTAL_STYLE = sublib
|
||||
|
||||
+QMAKE_CFLAGS_RELEASE += -O2
|
||||
+
|
||||
include(../common/linux.conf)
|
||||
include(../common/gcc-base-unix.conf)
|
||||
include(../common/g++-unix.conf)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro.debuginfo qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro
|
||||
--- qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro.debuginfo 2012-03-14 09:01:17.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro 2012-05-11 11:55:37.780070386 -0500
|
||||
@@ -34,6 +34,3 @@ MOCDIR = .moc
|
||||
|
||||
*-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
-CONFIG -= separate_debug_info
|
||||
-CONFIG += no_debug_info
|
||||
-
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri.no_Werror qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri
|
||||
--- qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri.no_Werror 2012-09-06 02:33:50.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri 2012-09-11 09:03:19.152159783 -0500
|
||||
@@ -102,7 +102,7 @@ CONFIG -= warn_on
|
||||
|
||||
# Treat warnings as errors on x86/Linux/GCC
|
||||
linux-g++* {
|
||||
- !CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror
|
||||
+ #!CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror
|
||||
|
||||
greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) {
|
||||
if (!contains(QMAKE_CXXFLAGS, -std=c++0x) && !contains(QMAKE_CXXFLAGS, -std=gnu++0x)) {
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp.qmake_pkgconfig_requires_private qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp.qmake_pkgconfig_requires_private 2012-11-23 04:11:21.000000000 -0600
|
||||
+++ qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp 2013-02-11 07:36:36.192779528 -0600
|
||||
@@ -3293,6 +3293,12 @@ MakefileGenerator::writePkgConfigFile()
|
||||
t << "Requires: " << requires << endl;
|
||||
}
|
||||
|
||||
+ // requires.private
|
||||
+ const QString requires_private = project->values("QMAKE_PKGCONFIG_REQUIRES_PRIVATE").join(" ");
|
||||
+ if (!requires_private.isEmpty()) {
|
||||
+ t << "Requires.private: " << requires_private << endl;
|
||||
+ }
|
||||
+
|
||||
t << endl;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf.QTBUG-14467 qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf
|
||||
--- qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf.QTBUG-14467 2013-05-30 16:19:17.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf 2013-06-09 11:53:45.709773603 -0500
|
||||
@@ -72,7 +72,7 @@ defineTest(qtAddLibrary) {
|
||||
}
|
||||
isEmpty(LINKAGE) {
|
||||
if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
|
||||
- win32:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d
|
||||
+ win32:LINKAGE = -l$${LIB_NAME}d$${QT_LIBINFIX}
|
||||
mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug
|
||||
}
|
||||
isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf.QTBUG-14467 qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf
|
||||
--- qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf.QTBUG-14467 2013-05-30 16:19:17.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf 2013-06-09 11:53:45.710773593 -0500
|
||||
@@ -6,7 +6,7 @@ contains(TEMPLATE, ".*app"){
|
||||
|
||||
qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
|
||||
isEqual(entryLib, -lqtmain): {
|
||||
- CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
|
||||
+ CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}d$${QT_LIBINFIX}
|
||||
else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}
|
||||
} else {
|
||||
QMAKE_LIBS += $${entryLib}
|
||||
@@ -0,0 +1,84 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp.QTBUG-21900 qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp.QTBUG-21900 2013-05-30 16:18:05.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp 2013-06-09 11:53:45.891771748 -0500
|
||||
@@ -818,6 +818,27 @@ static Bool qt_sync_request_scanner(Disp
|
||||
#endif
|
||||
#endif // QT_NO_XSYNC
|
||||
|
||||
+struct qt_configure_event_data
|
||||
+{
|
||||
+ WId window;
|
||||
+ WId parent;
|
||||
+};
|
||||
+
|
||||
+static Bool qt_configure_event_scanner(Display*, XEvent *event, XPointer arg)
|
||||
+{
|
||||
+ qt_configure_event_data *data =
|
||||
+ reinterpret_cast<qt_configure_event_data*>(arg);
|
||||
+ if (event->type == ConfigureNotify &&
|
||||
+ event->xconfigure.window == data->window) {
|
||||
+ return true;
|
||||
+ } else if (event->type == ReparentNotify &&
|
||||
+ event->xreparent.window == data->window) {
|
||||
+ data->parent = event->xreparent.parent;
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
static void qt_x11_create_intern_atoms()
|
||||
{
|
||||
const char *names[QX11Data::NAtoms];
|
||||
@@ -5302,8 +5323,11 @@ bool QETWidget::translateConfigEvent(con
|
||||
if (d->extra->compress_events) {
|
||||
// ConfigureNotify compression for faster opaque resizing
|
||||
XEvent otherEvent;
|
||||
- while (XCheckTypedWindowEvent(X11->display, internalWinId(), ConfigureNotify,
|
||||
- &otherEvent)) {
|
||||
+ qt_configure_event_data configureData;
|
||||
+ configureData.window = internalWinId();
|
||||
+ configureData.parent = d->topData()->parentWinId;
|
||||
+ while (XCheckIfEvent(X11->display, &otherEvent,
|
||||
+ &qt_configure_event_scanner, (XPointer)&configureData)) {
|
||||
if (qt_x11EventFilter(&otherEvent))
|
||||
continue;
|
||||
|
||||
@@ -5316,13 +5340,19 @@ bool QETWidget::translateConfigEvent(con
|
||||
newSize.setWidth(otherEvent.xconfigure.width);
|
||||
newSize.setHeight(otherEvent.xconfigure.height);
|
||||
|
||||
+ trust = isVisible()
|
||||
+ && (configureData.parent == XNone ||
|
||||
+ configureData.parent == QX11Info::appRootWindow());
|
||||
+
|
||||
if (otherEvent.xconfigure.send_event || trust) {
|
||||
newCPos.rx() = otherEvent.xconfigure.x +
|
||||
otherEvent.xconfigure.border_width;
|
||||
newCPos.ry() = otherEvent.xconfigure.y +
|
||||
otherEvent.xconfigure.border_width;
|
||||
isCPos = true;
|
||||
- }
|
||||
+ } else {
|
||||
+ isCPos = false;
|
||||
+ }
|
||||
}
|
||||
#ifndef QT_NO_XSYNC
|
||||
qt_sync_request_event_data sync_event;
|
||||
@@ -5335,9 +5365,14 @@ bool QETWidget::translateConfigEvent(con
|
||||
}
|
||||
|
||||
if (!isCPos) {
|
||||
- // we didn't get an updated position of the toplevel.
|
||||
- // either we haven't moved or there is a bug in the window manager.
|
||||
- // anyway, let's query the position to be certain.
|
||||
+ // If the last configure event didn't have a trustable position,
|
||||
+ // it's necessary to query, see ICCCM 4.24:
|
||||
+ //
|
||||
+ // Any real ConfigureNotify event on a top-level window implies
|
||||
+ // that the window’s position on the root may have changed, even
|
||||
+ // though the event reports that the window’s position in its
|
||||
+ // parent is unchanged because the window may have been reparented.
|
||||
+
|
||||
int x, y;
|
||||
Window child;
|
||||
XTranslateCoordinates(X11->display, internalWinId(),
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -ur qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp 2013-12-05 19:23:33.000000000 +0100
|
||||
+++ qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp 2014-01-13 20:13:59.000000000 +0100
|
||||
@@ -428,7 +428,7 @@
|
||||
// for the DTD currently being parsed.
|
||||
static const int dtdRecursionLimit = 2;
|
||||
// The maximum amount of characters an entity value may contain, after expansion.
|
||||
- static const int entityCharacterLimit = 1024;
|
||||
+ static const int entityCharacterLimit = 65536;
|
||||
|
||||
const QString &string();
|
||||
void stringClear();
|
||||
@@ -0,0 +1,29 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp.QTBUG-4862 qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp.QTBUG-4862 2013-06-09 12:02:50.323221694 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp 2013-06-09 12:38:53.140804742 -0500
|
||||
@@ -624,6 +624,25 @@ QString QFileSystemEngine::homePath()
|
||||
{
|
||||
QString home = QFile::decodeName(qgetenv("HOME"));
|
||||
if (home.isEmpty())
|
||||
+ {
|
||||
+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
|
||||
+ int size_max = sysconf(_SC_GETPW_R_SIZE_MAX);
|
||||
+ if (size_max == -1)
|
||||
+ size_max = 1024;
|
||||
+ QVarLengthArray<char, 1024> buf(size_max);
|
||||
+#endif
|
||||
+ struct passwd *pw = 0;
|
||||
+ uid_t user_id = getuid();
|
||||
+ pw = getpwuid(user_id);
|
||||
+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
|
||||
+ struct passwd entry;
|
||||
+ getpwuid_r(user_id, &entry, buf.data(), buf.size(), &pw);
|
||||
+#else
|
||||
+ pw = getpwuid(user_id);
|
||||
+#endif
|
||||
+ home = QFile::decodeName(QByteArray(pw->pw_dir));
|
||||
+ }
|
||||
+ if (home.isEmpty())
|
||||
home = rootPath();
|
||||
return QDir::cleanPath(home);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/configure.mysql_config qt-everywhere-opensource-src-4.8.5/configure
|
||||
--- qt-everywhere-opensource-src-4.8.5/configure.mysql_config 2013-06-07 00:16:41.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/configure 2014-03-07 10:09:27.412071146 -0600
|
||||
@@ -5480,8 +5480,15 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
|
||||
[ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
|
||||
if [ -x "$CFG_MYSQL_CONFIG" ]; then
|
||||
QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
|
||||
+ $CFG_MYSQL_CONFIG --variable=pkglibdir &>/dev/null && \
|
||||
+ QT_MYSQL_PKGLIBDIR=`$CFG_MYSQL_CONFIG --variable=pkglibdir 2>/dev/null`
|
||||
+ if [ -n "$QT_MYSQL_PKGLIBDIR" ]; then
|
||||
+ QT_LFLAGS_MYSQL_R="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient_r"
|
||||
+ QT_LFLAGS_MYSQL="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient"
|
||||
+ else
|
||||
QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
|
||||
QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
|
||||
+ fi
|
||||
QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
|
||||
QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
|
||||
fi
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check 2013-06-09 16:28:22.938840346 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp 2013-06-09 17:03:01.781125479 -0500
|
||||
@@ -503,18 +503,6 @@ void QGtkStylePrivate::initGtkWidgets()
|
||||
return;
|
||||
}
|
||||
|
||||
- static QString themeName;
|
||||
- if (!gtkWidgetMap()->contains("GtkWindow") && themeName.isEmpty()) {
|
||||
- themeName = getThemeName();
|
||||
-
|
||||
- if (themeName == QLS("Qt") || themeName == QLS("Qt4")) {
|
||||
- // Due to namespace conflicts with Qt3 and obvious recursion with Qt4,
|
||||
- // we cannot support the GTK_Qt Gtk engine
|
||||
- qWarning("QGtkStyle cannot be used together with the GTK_Qt engine.");
|
||||
- return;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
if (QGtkStylePrivate::gtk_init) {
|
||||
// Gtk will set the Qt error handler so we have to reset it afterwards
|
||||
x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0);
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp.qt_plugin_path qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp.qt_plugin_path 2013-06-07 00:16:52.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp 2013-06-21 07:14:10.045039936 -0500
|
||||
@@ -2511,6 +2511,15 @@ QStringList QCoreApplication::libraryPat
|
||||
if (!app_libpaths->contains(installPathPlugins))
|
||||
app_libpaths->append(installPathPlugins);
|
||||
}
|
||||
+
|
||||
+ // hack in support for kde4 plugin paths -- Rex
|
||||
+ QString kde4PathPlugins = QLibraryInfo::location(QLibraryInfo::LibrariesPath) + QLatin1String("/kde4/plugins");
|
||||
+ if (QFile::exists(kde4PathPlugins)) {
|
||||
+ // Make sure we convert from backslashes to slashes.
|
||||
+ //kde4PathPlugins = QDir(kde4PathPlugins).canonicalPath();
|
||||
+ if (!app_libpaths->contains(kde4PathPlugins))
|
||||
+ app_libpaths->append(kde4PathPlugins);
|
||||
+ }
|
||||
#endif
|
||||
|
||||
// If QCoreApplication is not yet instantiated,
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing 2013-06-09 11:57:49.198291245 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri 2013-06-09 12:01:24.120100371 -0500
|
||||
@@ -1,6 +1,8 @@
|
||||
HEADERS += $$PWD/qsql_tds.h
|
||||
SOURCES += $$PWD/qsql_tds.cpp
|
||||
|
||||
+*-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing
|
||||
+
|
||||
unix|win32-g++*: {
|
||||
LIBS += $$QT_LFLAGS_TDS
|
||||
!contains(LIBS, .*sybdb.*):LIBS += -lsybdb
|
||||
@@ -0,0 +1,28 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/tools/moc/moc.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/moc/moc.cpp
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp.uic_multilib 2013-05-30 16:18:04.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp 2013-06-09 11:50:25.597813974 -0500
|
||||
@@ -152,8 +152,7 @@ void Ui3Reader::embed(const char *projec
|
||||
for ( it = images.begin(); it != images.end(); ++it )
|
||||
out << "** " << *it << "\n";
|
||||
out << "**\n";
|
||||
- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
|
||||
- out << "** by: The User Interface Compiler for Qt version " << QT_VERSION_STR << "\n";
|
||||
+ out << "** Created: by: The User Interface Compiler for Qt version " << QT_VERSION_STR << "\n";
|
||||
out << "**\n";
|
||||
out << "** WARNING! All changes made in this file will be lost!\n";
|
||||
out << "****************************************************************************/\n";
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp.uic_multilib 2013-05-30 16:18:04.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp 2013-06-09 11:51:28.310174526 -0500
|
||||
@@ -146,8 +146,7 @@ void Uic::writeCopyrightHeader(DomUI *ui
|
||||
out << "/********************************************************************************\n";
|
||||
out << "** Form generated from reading UI file '" << QFileInfo(opt.inputFile).fileName() << "'\n";
|
||||
out << "**\n";
|
||||
- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
|
||||
- out << "** " << QString::fromLatin1("by: Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR));
|
||||
+ out << "** Created by: " << QString::fromLatin1("Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR));
|
||||
out << "**\n";
|
||||
out << "** WARNING! All changes made in this file will be lost when recompiling UI file!\n";
|
||||
out << "********************************************************************************/\n\n";
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic/uic.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic/uic.cpp
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri.webkit_debuginfo qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri.webkit_debuginfo 2013-06-07 00:16:55.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri 2013-07-11 14:04:19.937056249 -0500
|
||||
@@ -5,6 +5,12 @@ include(features.pri)
|
||||
|
||||
# Uncomment this to enable Texture Mapper.
|
||||
# CONFIG += texmap
|
||||
+#
|
||||
+equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64)|equals(QT_ARCH, powerpc64)|equals(QT_ARCH, powerpc) {
|
||||
+ message("WebCore workaround for QtWebkit: do not build with -g, but with -g1")
|
||||
+ QMAKE_CXXFLAGS_RELEASE -= -g
|
||||
+ QMAKE_CXXFLAGS_RELEASE += -g1
|
||||
+}
|
||||
|
||||
QT *= network
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
--- src/corelib/kernel/qeventdispatcher_glib.cpp.sav 2014-03-28 15:26:37.000000000 +0100
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_glib.cpp 2014-04-24 09:44:09.358659204 +0200
|
||||
@@ -255,22 +255,30 @@ struct GPostEventSource
|
||||
GSource source;
|
||||
QAtomicInt serialNumber;
|
||||
int lastSerialNumber;
|
||||
+ QEventLoop::ProcessEventsFlags processEventsFlags;
|
||||
QEventDispatcherGlibPrivate *d;
|
||||
};
|
||||
|
||||
static gboolean postEventSourcePrepare(GSource *s, gint *timeout)
|
||||
{
|
||||
+ GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
|
||||
QThreadData *data = QThreadData::current();
|
||||
if (!data)
|
||||
return false;
|
||||
|
||||
+ QEventLoop::ProcessEventsFlags excludeAllFlags
|
||||
+ = QEventLoop::ExcludeUserInputEvents
|
||||
+ | QEventLoop::ExcludeSocketNotifiers
|
||||
+ | QEventLoop::X11ExcludeTimers;
|
||||
+ if ((source->processEventsFlags & excludeAllFlags) == excludeAllFlags)
|
||||
+ return false;
|
||||
+
|
||||
gint dummy;
|
||||
if (!timeout)
|
||||
timeout = &dummy;
|
||||
const bool canWait = data->canWaitLocked();
|
||||
*timeout = canWait ? -1 : 0;
|
||||
|
||||
- GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
|
||||
return (!canWait
|
||||
|| (source->serialNumber != source->lastSerialNumber));
|
||||
}
|
||||
@@ -284,8 +292,14 @@ static gboolean postEventSourceDispatch(
|
||||
{
|
||||
GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
|
||||
source->lastSerialNumber = source->serialNumber;
|
||||
- QCoreApplication::sendPostedEvents();
|
||||
- source->d->runTimersOnceWithNormalPriority();
|
||||
+ QEventLoop::ProcessEventsFlags excludeAllFlags
|
||||
+ = QEventLoop::ExcludeUserInputEvents
|
||||
+ | QEventLoop::ExcludeSocketNotifiers
|
||||
+ | QEventLoop::X11ExcludeTimers;
|
||||
+ if ((source->processEventsFlags & excludeAllFlags) != excludeAllFlags) {
|
||||
+ QCoreApplication::sendPostedEvents();
|
||||
+ source->d->runTimersOnceWithNormalPriority();
|
||||
+ }
|
||||
return true; // i dunno, george...
|
||||
}
|
||||
|
||||
@@ -329,6 +343,7 @@ QEventDispatcherGlibPrivate::QEventDispa
|
||||
postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs,
|
||||
sizeof(GPostEventSource)));
|
||||
postEventSource->serialNumber = 1;
|
||||
+ postEventSource->processEventsFlags = QEventLoop::AllEvents;
|
||||
postEventSource->d = this;
|
||||
g_source_set_can_recurse(&postEventSource->source, true);
|
||||
g_source_attach(&postEventSource->source, mainContext);
|
||||
@@ -423,6 +438,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
|
||||
// tell postEventSourcePrepare() and timerSource about any new flags
|
||||
QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
|
||||
+ d->postEventSource->processEventsFlags = flags;
|
||||
d->timerSource->processEventsFlags = flags;
|
||||
d->socketNotifierSource->processEventsFlags = flags;
|
||||
|
||||
@@ -435,6 +451,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
while (!result && canWait)
|
||||
result = g_main_context_iteration(d->mainContext, canWait);
|
||||
|
||||
+ d->postEventSource->processEventsFlags = savedFlags;
|
||||
d->timerSource->processEventsFlags = savedFlags;
|
||||
d->socketNotifierSource->processEventsFlags = savedFlags;
|
||||
|
||||
--- src/corelib/kernel/qeventdispatcher_unix.cpp.sav 2013-06-07 07:16:52.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_unix.cpp 2014-04-24 09:43:06.927589535 +0200
|
||||
@@ -905,7 +905,15 @@ bool QEventDispatcherUNIX::processEvents
|
||||
|
||||
// we are awake, broadcast it
|
||||
emit awake();
|
||||
- QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
|
||||
+
|
||||
+ QEventLoop::ProcessEventsFlags excludeAllFlags
|
||||
+ = QEventLoop::ExcludeUserInputEvents
|
||||
+ | QEventLoop::ExcludeSocketNotifiers
|
||||
+ | QEventLoop::X11ExcludeTimers;
|
||||
+ if ((flags & excludeAllFlags) == excludeAllFlags)
|
||||
+ return false;
|
||||
+ if(( flags & excludeAllFlags ) != excludeAllFlags )
|
||||
+ QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
|
||||
|
||||
int nevents = 0;
|
||||
const bool canWait = (d->threadData->canWaitLocked()
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
Author: Jan-Marek Glogowski <glogow@fbihome.de>
|
||||
Date: Thu Mar 06 18:44:43 2014 +0100
|
||||
|
||||
Honor QEventLoop::ExcludeSocketNotifiers in glib event loop.
|
||||
|
||||
Implements QEventLoop::ExcludeSocketNotifiers in the same way
|
||||
QEventLoop::X11ExcludeTimers is already implemented for the glib
|
||||
event loop.
|
||||
|
||||
--- qt4-x11-4.8.1.orig/src/corelib/kernel/qeventdispatcher_glib.cpp
|
||||
+++ qt4-x11-4.8.1/src/corelib/kernel/qeventdispatcher_glib.cpp
|
||||
@@ -65,6 +65,7 @@ struct GPollFDWithQSocketNotifier
|
||||
struct GSocketNotifierSource
|
||||
{
|
||||
GSource source;
|
||||
+ QEventLoop::ProcessEventsFlags processEventsFlags;
|
||||
QList<GPollFDWithQSocketNotifier *> pollfds;
|
||||
};
|
||||
|
||||
@@ -80,6 +81,9 @@ static gboolean socketNotifierSourceChec
|
||||
GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source);
|
||||
|
||||
bool pending = false;
|
||||
+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers)
|
||||
+ return pending;
|
||||
+
|
||||
for (int i = 0; !pending && i < src->pollfds.count(); ++i) {
|
||||
GPollFDWithQSocketNotifier *p = src->pollfds.at(i);
|
||||
|
||||
@@ -103,6 +107,9 @@ static gboolean socketNotifierSourceDisp
|
||||
QEvent event(QEvent::SockAct);
|
||||
|
||||
GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source);
|
||||
+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers)
|
||||
+ return true;
|
||||
+
|
||||
for (int i = 0; i < src->pollfds.count(); ++i) {
|
||||
GPollFDWithQSocketNotifier *p = src->pollfds.at(i);
|
||||
|
||||
@@ -330,6 +337,7 @@ QEventDispatcherGlibPrivate::QEventDispa
|
||||
reinterpret_cast<GSocketNotifierSource *>(g_source_new(&socketNotifierSourceFuncs,
|
||||
sizeof(GSocketNotifierSource)));
|
||||
(void) new (&socketNotifierSource->pollfds) QList<GPollFDWithQSocketNotifier *>();
|
||||
+ socketNotifierSource->processEventsFlags = QEventLoop::AllEvents;
|
||||
g_source_set_can_recurse(&socketNotifierSource->source, true);
|
||||
g_source_attach(&socketNotifierSource->source, mainContext);
|
||||
|
||||
@@ -415,6 +423,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
// tell postEventSourcePrepare() and timerSource about any new flags
|
||||
QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
|
||||
d->timerSource->processEventsFlags = flags;
|
||||
+ d->socketNotifierSource->processEventsFlags = flags;
|
||||
|
||||
if (!(flags & QEventLoop::EventLoopExec)) {
|
||||
// force timers to be sent at normal priority
|
||||
@@ -426,6 +435,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
result = g_main_context_iteration(d->mainContext, canWait);
|
||||
|
||||
d->timerSource->processEventsFlags = savedFlags;
|
||||
+ d->socketNotifierSource->processEventsFlags = savedFlags;
|
||||
|
||||
if (canWait)
|
||||
emit awake();
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
--- src/gui/kernel/qclipboard_x11.cpp.sav 2014-04-25 09:52:03.855693228 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qclipboard_x11.cpp 2014-04-25 09:51:58.038693777 +0200
|
||||
@@ -548,7 +548,8 @@ bool QX11Data::clipboardWaitForEvent(Win
|
||||
return false;
|
||||
|
||||
XSync(X11->display, false);
|
||||
- usleep(50000);
|
||||
+ if (!XPending(X11->display))
|
||||
+ usleep(5000);
|
||||
|
||||
now.start();
|
||||
|
||||
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
diff -ur qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_i386.h qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_i386.h
|
||||
--- qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_i386.h 2009-02-25 22:09:21.000000000 +0100
|
||||
+++ qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_i386.h 2009-04-01 17:54:21.000000000 +0200
|
||||
@@ -115,8 +115,8 @@
|
||||
asm volatile("lock\n"
|
||||
"incl %0\n"
|
||||
"setne %1"
|
||||
- : "=m" (_q_value), "=qm" (ret)
|
||||
- : "m" (_q_value)
|
||||
+ : "+m" (_q_value), "=qm" (ret)
|
||||
+ :
|
||||
: "memory");
|
||||
return ret != 0;
|
||||
}
|
||||
@@ -127,8 +127,8 @@
|
||||
asm volatile("lock\n"
|
||||
"decl %0\n"
|
||||
"setne %1"
|
||||
- : "=m" (_q_value), "=qm" (ret)
|
||||
- : "m" (_q_value)
|
||||
+ : "+m" (_q_value), "=qm" (ret)
|
||||
+ :
|
||||
: "memory");
|
||||
return ret != 0;
|
||||
}
|
||||
diff -ur qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_x86_64.h qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_x86_64.h
|
||||
--- qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_x86_64.h 2009-02-25 22:09:21.000000000 +0100
|
||||
+++ qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_x86_64.h 2009-04-01 17:54:32.000000000 +0200
|
||||
@@ -116,8 +116,8 @@
|
||||
asm volatile("lock\n"
|
||||
"incl %0\n"
|
||||
"setne %1"
|
||||
- : "=m" (_q_value), "=qm" (ret)
|
||||
- : "m" (_q_value)
|
||||
+ : "+m" (_q_value), "=qm" (ret)
|
||||
+ :
|
||||
: "memory");
|
||||
return ret != 0;
|
||||
}
|
||||
@@ -128,8 +128,8 @@
|
||||
asm volatile("lock\n"
|
||||
"decl %0\n"
|
||||
"setne %1"
|
||||
- : "=m" (_q_value), "=qm" (ret)
|
||||
- : "m" (_q_value)
|
||||
+ : "+m" (_q_value), "=qm" (ret)
|
||||
+ :
|
||||
: "memory");
|
||||
return ret != 0;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -up qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp.enable_ft_lcdfilter qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp
|
||||
--- qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp.enable_ft_lcdfilter 2009-04-21 18:57:41.000000000 -0500
|
||||
+++ qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp 2009-04-24 11:17:49.562695405 -0500
|
||||
@@ -72,7 +72,7 @@
|
||||
#include FT_CONFIG_OPTIONS_H
|
||||
#endif
|
||||
|
||||
-#if defined(FT_LCD_FILTER_H) && defined(FT_CONFIG_OPTION_SUBPIXEL_RENDERING)
|
||||
+#if defined(FT_LCD_FILTER_H)
|
||||
#define QT_USE_FREETYPE_LCDFILTER
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
diff -Naur mkspecs/common.orig/g++-base.conf mkspecs/common/g++-base.conf
|
||||
--- mkspecs/common.orig/g++-base.conf 2012-03-14 16:01:12.000000000 +0200
|
||||
+++ mkspecs/common/g++-base.conf 2012-04-05 14:53:05.670347102 +0300
|
||||
@@ -8,17 +8,23 @@
|
||||
# you can use the manual test in tests/manual/mkspecs.
|
||||
#
|
||||
|
||||
-QMAKE_CC = gcc
|
||||
+QMAKE_CC = PISILINUX_CC
|
||||
|
||||
QMAKE_LINK_C = $$QMAKE_CC
|
||||
QMAKE_LINK_C_SHLIB = $$QMAKE_CC
|
||||
|
||||
-QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g
|
||||
+QMAKE_CFLAGS_RELEASE += PISILINUX_CFLAGS
|
||||
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += PISILINUX_CFLAGS -g
|
||||
|
||||
-QMAKE_CXX = g++
|
||||
+QMAKE_CXX = PISILINUX_CXX
|
||||
|
||||
-QMAKE_LINK = $$QMAKE_CXX
|
||||
-QMAKE_LINK_SHLIB = $$QMAKE_CXX
|
||||
+
|
||||
+QMAKE_LINK = PISILINUX_CXX
|
||||
+QMAKE_LINK_SHLIB = PISILINUX_CXX
|
||||
+QMAKE_LINK_C = PISILINUX_CC
|
||||
+QMAKE_LINK_C_SHLIB = PISILINUX_CC
|
||||
+
|
||||
+QMAKE_LFLAGS_RELEASE += PISILINUX_LDFLAGS
|
||||
|
||||
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
|
||||
|
||||
diff -Naur mkspecs/common.orig/g++-unix.conf mkspecs/common/g++-unix.conf
|
||||
--- mkspecs/common.orig/g++-unix.conf 2012-03-14 16:01:12.000000000 +0200
|
||||
+++ mkspecs/common/g++-unix.conf 2012-04-05 14:49:41.723399705 +0300
|
||||
@@ -10,5 +10,5 @@
|
||||
|
||||
include(g++-base.conf)
|
||||
|
||||
-QMAKE_LFLAGS_RELEASE += -Wl,-O1
|
||||
+QMAKE_LFLAGS_RELEASE += PISILINUX_LDFLAGS
|
||||
QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
|
||||
diff -Naur mkspecs/common.orig/linux.conf mkspecs/common/linux.conf
|
||||
--- mkspecs/common.orig/linux.conf 2012-03-14 16:01:12.000000000 +0200
|
||||
+++ mkspecs/common/linux.conf 2012-04-05 14:54:23.487037709 +0300
|
||||
@@ -57,7 +57,7 @@
|
||||
QMAKE_MOVE = mv -f
|
||||
QMAKE_DEL_FILE = rm -f
|
||||
QMAKE_DEL_DIR = rmdir
|
||||
-QMAKE_STRIP = strip
|
||||
+QMAKE_STRIP =
|
||||
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
|
||||
QMAKE_CHK_DIR_EXISTS = test -d
|
||||
QMAKE_MKDIR = mkdir -p
|
||||
@@ -0,0 +1,42 @@
|
||||
From 19d31c5b036a46365584d7d97e87f7fe16150623 Mon Sep 17 00:00:00 2001
|
||||
From: Lars Knoll <lars.knoll@digia.com>
|
||||
Date: Thu, 24 Apr 2014 15:33:27 +0200
|
||||
Subject: [PATCH] Don't crash on broken GIF images
|
||||
|
||||
Broken GIF images could set invalid width and height
|
||||
values inside the image, leading to Qt creating a null
|
||||
QImage for it. In that case we need to abort decoding
|
||||
the image and return an error.
|
||||
|
||||
Initial patch by Rich Moore.
|
||||
|
||||
Backport of Id82a4036f478bd6e49c402d6598f57e7e5bb5e1e from Qt 5
|
||||
|
||||
Task-number: QTBUG-38367
|
||||
Change-Id: I0680740018aaa8356d267b7af3f01fac3697312a
|
||||
Security-advisory: CVE-2014-0190
|
||||
---
|
||||
src/gui/image/qgifhandler.cpp | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/src/gui/image/qgifhandler.cpp b/src/gui/image/qgifhandler.cpp
|
||||
index 3324f04..5199dd3 100644
|
||||
--- a/src/gui/image/qgifhandler.cpp
|
||||
+++ b/src/gui/image/qgifhandler.cpp
|
||||
@@ -359,6 +359,13 @@ int QGIFFormat::decode(QImage *image, const uchar *buffer, int length,
|
||||
memset(bits, 0, image->byteCount());
|
||||
}
|
||||
|
||||
+ // Check if the previous attempt to create the image failed. If it
|
||||
+ // did then the image is broken and we should give up.
|
||||
+ if (image->isNull()) {
|
||||
+ state = Error;
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
disposePrevious(image);
|
||||
disposed = false;
|
||||
|
||||
--
|
||||
1.9.0
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
Index: src/corelib/kernel/qobject.cpp
|
||||
===================================================================
|
||||
--- src/corelib/kernel/qobject.cpp.orig
|
||||
+++ src/corelib/kernel/qobject.cpp
|
||||
@@ -1102,10 +1102,19 @@ void QObject::setObjectName(const QStrin
|
||||
|
||||
d->objectName = name;
|
||||
|
||||
+#if defined(Q_WS_X11)
|
||||
+ d->checkWindowRole();
|
||||
+#endif
|
||||
+
|
||||
if (objectNameChanged)
|
||||
d->declarativeData->objectNameChanged(d->declarativeData, this);
|
||||
}
|
||||
|
||||
+#if defined(Q_WS_X11)
|
||||
+void QObjectPrivate::checkWindowRole()
|
||||
+{
|
||||
+}
|
||||
+#endif
|
||||
|
||||
#ifdef QT3_SUPPORT
|
||||
/*! \internal
|
||||
Index: src/corelib/kernel/qobject_p.h
|
||||
===================================================================
|
||||
--- src/corelib/kernel/qobject_p.h.orig
|
||||
+++ src/corelib/kernel/qobject_p.h
|
||||
@@ -162,6 +162,9 @@ public:
|
||||
#ifdef QT3_SUPPORT
|
||||
void sendPendingChildInsertedEvents();
|
||||
#endif
|
||||
+#if defined(Q_WS_X11)
|
||||
+ virtual void checkWindowRole();
|
||||
+#endif
|
||||
|
||||
static inline Sender *setCurrentSender(QObject *receiver,
|
||||
Sender *sender);
|
||||
Index: src/gui/kernel/qwidget_p.h
|
||||
===================================================================
|
||||
--- src/gui/kernel/qwidget_p.h.orig
|
||||
+++ src/gui/kernel/qwidget_p.h
|
||||
@@ -784,6 +784,7 @@ public:
|
||||
static QWidget *keyboardGrabber;
|
||||
|
||||
void setWindowRole();
|
||||
+ virtual void checkWindowRole();
|
||||
void sendStartupMessage(const char *message) const;
|
||||
void setNetWmWindowTypes();
|
||||
void x11UpdateIsOpaque();
|
||||
Index: src/gui/kernel/qwidget_x11.cpp
|
||||
===================================================================
|
||||
--- src/gui/kernel/qwidget_x11.cpp.orig
|
||||
+++ src/gui/kernel/qwidget_x11.cpp
|
||||
@@ -849,13 +849,17 @@ void QWidgetPrivate::create_sys(WId wind
|
||||
|
||||
|
||||
// declare the widget's window role
|
||||
+ QByteArray windowRole;
|
||||
if (QTLWExtra *topData = maybeTopData()) {
|
||||
- if (!topData->role.isEmpty()) {
|
||||
- QByteArray windowRole = topData->role.toUtf8();
|
||||
- XChangeProperty(dpy, id,
|
||||
- ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace,
|
||||
- (unsigned char *)windowRole.constData(), windowRole.length());
|
||||
- }
|
||||
+ if (!topData->role.isEmpty())
|
||||
+ windowRole = topData->role.toUtf8();
|
||||
+ }
|
||||
+ if (windowRole.isEmpty()) // use object name as a fallback
|
||||
+ windowRole = objectName.toUtf8();
|
||||
+ if (!windowRole.isEmpty()) {
|
||||
+ XChangeProperty(dpy, id,
|
||||
+ ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace,
|
||||
+ (unsigned char *)windowRole.constData(), windowRole.length());
|
||||
}
|
||||
|
||||
// set client leader property
|
||||
@@ -3015,6 +3019,17 @@ void QWidgetPrivate::setWindowRole()
|
||||
XChangeProperty(X11->display, q->internalWinId(),
|
||||
ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace,
|
||||
(unsigned char *)windowRole.constData(), windowRole.length());
|
||||
+}
|
||||
+
|
||||
+void QWidgetPrivate::checkWindowRole()
|
||||
+{
|
||||
+ Q_Q(QWidget);
|
||||
+ if( !q->windowRole().isEmpty() || !q->internalWinId())
|
||||
+ return;
|
||||
+ QByteArray windowRole = objectName.toUtf8(); // use as a fallback
|
||||
+ XChangeProperty(X11->display, q->internalWinId(),
|
||||
+ ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace,
|
||||
+ (unsigned char *)windowRole.constData(), windowRole.length());
|
||||
}
|
||||
|
||||
Q_GLOBAL_STATIC(QX11PaintEngine, qt_widget_paintengine)
|
||||
@@ -0,0 +1,37 @@
|
||||
qt-bugs@ issue : none
|
||||
Trolltech task ID : none
|
||||
applied: yes
|
||||
author: Helio Chissini de Castro <helio@kde.org>
|
||||
os: unix
|
||||
|
||||
In situations where included header have same name as their parent dir, i.e.
|
||||
include/QtMyModule/QtMyModule and #include <QtMyModule> on code. moc will fail if parent dir was
|
||||
added in front of includepath.
|
||||
moc -Iinclude -Iinclude/QtMyModule fails
|
||||
moc -Iinclude/QtMyModule works
|
||||
This patch move dir test to proper place, as entry is validated only if is a real file, not a dir.
|
||||
Detected by qca2 plugins code that uses QtCrypto/QtCrypto
|
||||
Thanks to Thiago to find proper syntax
|
||||
|
||||
Index: src/tools/moc/preprocessor.cpp
|
||||
===================================================================
|
||||
--- src/tools/moc/preprocessor.cpp.orig
|
||||
+++ src/tools/moc/preprocessor.cpp
|
||||
@@ -799,7 +799,7 @@ void Preprocessor::preprocess(const QByt
|
||||
QFileInfo fi;
|
||||
if (local)
|
||||
fi.setFile(QFileInfo(QString::fromLocal8Bit(filename)).dir(), QString::fromLocal8Bit(include));
|
||||
- for (int j = 0; j < Preprocessor::includes.size() && !fi.exists(); ++j) {
|
||||
+ for (int j = 0; j < Preprocessor::includes.size() && ( !fi.exists() || fi.isDir() ); ++j) {
|
||||
const IncludePath &p = Preprocessor::includes.at(j);
|
||||
if (p.isFrameworkPath) {
|
||||
const int slashPos = include.indexOf('/');
|
||||
@@ -819,7 +819,7 @@ void Preprocessor::preprocess(const QByt
|
||||
}
|
||||
}
|
||||
|
||||
- if (!fi.exists() || fi.isDir())
|
||||
+ if ( !fi.exists() )
|
||||
continue;
|
||||
include = fi.canonicalFilePath().toLocal8Bit();
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
qt-bugs@ issue : 178507
|
||||
Trolltech task ID : 179170
|
||||
applied: no
|
||||
author: Matthew Woehlke <mw_triad@users.sourceforge.net>
|
||||
|
||||
This patch fixes incorrect setting of the palette color group in
|
||||
QListView that resulted in alternate rows being drawn with the Active
|
||||
AlternateBase color even for inactive widgets (while the rest of the
|
||||
widget is drawn correctly). Please let me know if QListView is not
|
||||
the only culprit. (QTreeView was fixed by TT already.)
|
||||
|
||||
Index: src/gui/itemviews/qlistview.cpp
|
||||
===================================================================
|
||||
--- src/gui/itemviews/qlistview.cpp.orig
|
||||
+++ src/gui/itemviews/qlistview.cpp
|
||||
@@ -997,7 +997,7 @@ void QListView::paintEvent(QPaintEvent *
|
||||
option.state &= ~QStyle::State_Enabled;
|
||||
cg = QPalette::Disabled;
|
||||
} else {
|
||||
- cg = QPalette::Normal;
|
||||
+ cg = window()->isActiveWindow() ? QPalette::Active : QPalette::Inactive;
|
||||
}
|
||||
option.palette.setCurrentColorGroup(cg);
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
qt-bugs@ issue : none
|
||||
bugs.kde.org number : none
|
||||
applied: no
|
||||
author: Lubos Lunak <l.lunak@kde.org>
|
||||
|
||||
This patch makes override-redirect windows (popup menu, dropdown menu,
|
||||
tooltip, combobox, etc.) also have more window properties like WM_CLASS,
|
||||
so they can be used when compositing.
|
||||
|
||||
Index: src/gui/kernel/qwidget_x11.cpp
|
||||
===================================================================
|
||||
--- src/gui/kernel/qwidget_x11.cpp.orig
|
||||
+++ src/gui/kernel/qwidget_x11.cpp
|
||||
@@ -773,6 +773,11 @@ void QWidgetPrivate::create_sys(WId wind
|
||||
Q_ASSERT(id);
|
||||
XChangeWindowAttributes(dpy, id, CWOverrideRedirect | CWSaveUnder,
|
||||
&wsa);
|
||||
+ XClassHint class_hint;
|
||||
+ QByteArray appName = qAppName().toLatin1();
|
||||
+ class_hint.res_name = appName.data(); // application name
|
||||
+ class_hint.res_class = const_cast<char *>(QX11Info::appClass()); // application class
|
||||
+ XSetWMProperties(dpy, id, 0, 0, 0, 0, 0, 0, &class_hint);
|
||||
} else if (topLevel && !desktop) { // top-level widget
|
||||
if (!X11->wm_client_leader)
|
||||
create_wm_client_leader();
|
||||
@@ -827,13 +832,21 @@ void QWidgetPrivate::create_sys(WId wind
|
||||
// set EWMH window types
|
||||
setNetWmWindowTypes();
|
||||
|
||||
+ // when we create a toplevel widget, the frame strut should be dirty
|
||||
+ data.fstrut_dirty = 1;
|
||||
+
|
||||
+ } else {
|
||||
+ // non-toplevel widgets don't have a frame, so no need to
|
||||
+ // update the strut
|
||||
+ data.fstrut_dirty = 0;
|
||||
+ }
|
||||
+
|
||||
+ if (initializeWindow && (popup || (topLevel && !desktop))) { // properties set on all toplevel windows
|
||||
// set _NET_WM_PID
|
||||
long curr_pid = getpid();
|
||||
XChangeProperty(dpy, id, ATOM(_NET_WM_PID), XA_CARDINAL, 32, PropModeReplace,
|
||||
(unsigned char *) &curr_pid, 1);
|
||||
|
||||
- // when we create a toplevel widget, the frame strut should be dirty
|
||||
- data.fstrut_dirty = 1;
|
||||
|
||||
// declare the widget's window role
|
||||
if (QTLWExtra *topData = maybeTopData()) {
|
||||
@@ -849,10 +862,6 @@ void QWidgetPrivate::create_sys(WId wind
|
||||
XChangeProperty(dpy, id, ATOM(WM_CLIENT_LEADER),
|
||||
XA_WINDOW, 32, PropModeReplace,
|
||||
(unsigned char *)&X11->wm_client_leader, 1);
|
||||
- } else {
|
||||
- // non-toplevel widgets don't have a frame, so no need to
|
||||
- // update the strut
|
||||
- data.fstrut_dirty = 0;
|
||||
}
|
||||
|
||||
if (initializeWindow && q->internalWinId()) {
|
||||
@@ -0,0 +1,35 @@
|
||||
qt-bugs@ issue : None
|
||||
Trolltech task ID : None
|
||||
bugs.kde.org number : 159014
|
||||
applied: no
|
||||
author: Robert Knight <robertknight@gmail.com>
|
||||
|
||||
When tabs are inserted or removed in a QTabBar, QTabBarPrivate::refresh()
|
||||
is called to update the layout. If the tabbar widget is hidden, this
|
||||
just sets a boolean variable (layoutDirty) and returns, so the parent widget's layout
|
||||
is not notified about the possible geometry change.
|
||||
|
||||
Prior to Qt 4.4 this was not a problem because the geometry was recalculated
|
||||
in QTabBar::sizeHint() if the layoutDirty variable was set. In Qt 4.4 however the layout
|
||||
caches size hint information in QWidgetItemV2. Since the cache information is not invalidated,
|
||||
the layout may end up using out-of-date size hint information to compute the widget size.
|
||||
|
||||
If the QTabBar is empty when QTabBar::sizeHint() is called, it will return a size with a height
|
||||
of 0, which will be kept in the cache and so the tab bar will never be shown.
|
||||
|
||||
This patch fixes the problem by calling updateGeometry() whenever the tab bar's layout is refreshed.
|
||||
|
||||
Index: src/gui/widgets/qtabbar.cpp
|
||||
===================================================================
|
||||
--- src/gui/widgets/qtabbar.cpp.orig
|
||||
+++ src/gui/widgets/qtabbar.cpp
|
||||
@@ -723,8 +723,8 @@ void QTabBarPrivate::refresh()
|
||||
layoutTabs();
|
||||
makeVisible(currentIndex);
|
||||
q->update();
|
||||
- q->updateGeometry();
|
||||
}
|
||||
+ q->updateGeometry();
|
||||
}
|
||||
|
||||
/*!
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,13 @@
|
||||
Index: tools/tools.pro
|
||||
===================================================================
|
||||
--- tools/tools.pro.orig
|
||||
+++ tools/tools.pro
|
||||
@@ -37,6 +37,8 @@ mac {
|
||||
|
||||
embedded:SUBDIRS += kmap2qmap
|
||||
|
||||
+SUBDIRS += qvfb
|
||||
+
|
||||
contains(QT_CONFIG, dbus):SUBDIRS += qdbus
|
||||
# We don't need these command line utilities on embedded platforms.
|
||||
!wince*:!symbian:contains(QT_CONFIG, xmlpatterns): SUBDIRS += xmlpatterns xmlpatternsvalidator
|
||||
@@ -0,0 +1,12 @@
|
||||
--- qt-snapshot/src/tools/moc/main.cpp 2013-03-16 19:09:31.954011186 +0100
|
||||
+++ qt-snapshot/src/tools/moc/main.cpp 2013-05-28 22:38:39.781681541 +0200
|
||||
@@ -190,6 +190,8 @@ int runMoc(int _argc, char **_argv)
|
||||
|
||||
// Workaround a bug while parsing the boost/type_traits/has_operator.hpp header. See QTBUG-22829
|
||||
pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"];
|
||||
+ pp.macros["BOOST_LEXICAL_CAST_INCLUDED"];
|
||||
+ pp.macros["BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION"];
|
||||
|
||||
QByteArray filename;
|
||||
QByteArray output;
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
Index: qt-everywhere-opensource-src-4.8.3/tools/assistant/tools/assistant/mainwindow.cpp
|
||||
===================================================================
|
||||
--- qt-everywhere-opensource-src-4.8.3.orig/tools/assistant/tools/assistant/mainwindow.cpp
|
||||
+++ qt-everywhere-opensource-src-4.8.3/tools/assistant/tools/assistant/mainwindow.cpp
|
||||
@@ -945,8 +945,7 @@ void MainWindow::updateApplicationFont()
|
||||
if (helpEngine.usesAppFont())
|
||||
font = helpEngine.appFont();
|
||||
|
||||
- const QWidgetList &widgets = qApp->allWidgets();
|
||||
- foreach (QWidget* widget, widgets)
|
||||
+ foreach (QWidget* widget, QApplication::allWidgets())
|
||||
widget->setFont(font);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
Index: src/plugins/imageformats/tga/qtgafile.cpp
|
||||
===================================================================
|
||||
--- src/plugins/imageformats/tga/qtgafile.cpp.orig
|
||||
+++ src/plugins/imageformats/tga/qtgafile.cpp
|
||||
@@ -41,6 +41,7 @@
|
||||
|
||||
#include "qtgafile.h"
|
||||
|
||||
+#include <QtCore/QBuffer>
|
||||
#include <QtCore/QIODevice>
|
||||
#include <QtCore/QDebug>
|
||||
#include <QtCore/QDateTime>
|
||||
@@ -266,3 +267,16 @@ QImage QTgaFile::readImage()
|
||||
// TODO: add processing of TGA extension information - ie TGA 2.0 files
|
||||
return im;
|
||||
}
|
||||
+/**
|
||||
+ * Checks if device contains a valid tga image, *without* changing device
|
||||
+ * position.
|
||||
+ */
|
||||
+bool QTgaFile::canRead(QIODevice *device)
|
||||
+{
|
||||
+ QByteArray header = device->peek(HeaderSize);
|
||||
+ if (header.size() < HeaderSize)
|
||||
+ return false;
|
||||
+ QBuffer buffer(&header);
|
||||
+ QTgaFile tga(&buffer);
|
||||
+ return tga.isValid();
|
||||
+}
|
||||
Index: src/plugins/imageformats/tga/qtgafile.h
|
||||
===================================================================
|
||||
--- src/plugins/imageformats/tga/qtgafile.h.orig
|
||||
+++ src/plugins/imageformats/tga/qtgafile.h
|
||||
@@ -93,6 +93,8 @@ public:
|
||||
inline QSize size() const;
|
||||
inline Compression compression() const;
|
||||
|
||||
+ static bool canRead(QIODevice *device);
|
||||
+
|
||||
private:
|
||||
static inline quint16 littleEndianInt(const unsigned char *d);
|
||||
|
||||
Index: src/plugins/imageformats/tga/qtgahandler.cpp
|
||||
===================================================================
|
||||
--- src/plugins/imageformats/tga/qtgahandler.cpp.orig
|
||||
+++ src/plugins/imageformats/tga/qtgahandler.cpp
|
||||
@@ -77,8 +77,7 @@ bool QTgaHandler::canRead(QIODevice *dev
|
||||
qWarning("QTgaHandler::canRead() called with no device");
|
||||
return false;
|
||||
}
|
||||
- QTgaFile tga(device);
|
||||
- return tga.isValid();
|
||||
+ return QTgaFile::canRead(device);
|
||||
}
|
||||
|
||||
bool QTgaHandler::read(QImage *image)
|
||||
@@ -0,0 +1,13 @@
|
||||
Index: qmake/generators/unix/unixmake2.cpp
|
||||
===================================================================
|
||||
--- qmake/generators/unix/unixmake2.cpp.orig
|
||||
+++ qmake/generators/unix/unixmake2.cpp
|
||||
@@ -1301,7 +1301,7 @@ UnixMakefileGenerator::writeLibtoolFile(
|
||||
QTextStream t(&ft);
|
||||
t << "# " << lname << " - a libtool library file\n";
|
||||
t << "# Generated by qmake/libtool (" << qmake_version() << ") (Qt "
|
||||
- << QT_VERSION_STR << ") on: " << QDateTime::currentDateTime().toString();
|
||||
+ << QT_VERSION_STR << ")";
|
||||
t << "\n";
|
||||
|
||||
t << "# The name that we can dlopen(3).\n"
|
||||
@@ -0,0 +1,26 @@
|
||||
--- tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp.orig
|
||||
+++ tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp
|
||||
@@ -549,9 +549,11 @@ static void writeProxy(const QString &fi
|
||||
} else {
|
||||
includeGuard = QLatin1String("QDBUSXML2CPP_PROXY");
|
||||
}
|
||||
+#if 0
|
||||
includeGuard = QString(QLatin1String("%1_%2"))
|
||||
.arg(includeGuard)
|
||||
.arg(QDateTime::currentDateTime().toTime_t());
|
||||
+#endif
|
||||
hs << "#ifndef " << includeGuard << endl
|
||||
<< "#define " << includeGuard << endl
|
||||
<< endl;
|
||||
@@ -855,9 +857,11 @@ static void writeAdaptor(const QString &
|
||||
} else {
|
||||
includeGuard = QLatin1String("QDBUSXML2CPP_ADAPTOR");
|
||||
}
|
||||
+#if 0
|
||||
includeGuard = QString(QLatin1String("%1_%2"))
|
||||
.arg(includeGuard)
|
||||
.arg(QDateTime::currentDateTime().toTime_t());
|
||||
+#endif
|
||||
hs << "#ifndef " << includeGuard << endl
|
||||
<< "#define " << includeGuard << endl
|
||||
<< endl;
|
||||
@@ -0,0 +1,21 @@
|
||||
Index: qt-everywhere-opensource-src-4.8.4/src/corelib/arch/qatomic_generic.h
|
||||
===================================================================
|
||||
--- qt-everywhere-opensource-src-4.8.4.orig/src/corelib/arch/qatomic_generic.h
|
||||
+++ qt-everywhere-opensource-src-4.8.4/src/corelib/arch/qatomic_generic.h
|
||||
@@ -109,6 +109,16 @@ Q_CORE_EXPORT bool QBasicAtomicPointer_t
|
||||
Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *, void *);
|
||||
Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *, qptrdiff);
|
||||
|
||||
+inline bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *_q_value, const void *expected_value, const void *newValue)
|
||||
+{
|
||||
+ return QBasicAtomicPointer_testAndSetOrdered(_q_value, const_cast<void *>(expected_value), const_cast<void *>(newValue));
|
||||
+}
|
||||
+
|
||||
+inline void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *_q_value, const void *newValue)
|
||||
+{
|
||||
+ return QBasicAtomicPointer_fetchAndStoreOrdered(_q_value, const_cast<void *>(newValue));
|
||||
+}
|
||||
+
|
||||
// Reference counting
|
||||
|
||||
inline bool QBasicAtomicInt::ref()
|
||||
@@ -0,0 +1,15 @@
|
||||
Index: src/dbus/qdbusconnection.cpp
|
||||
===================================================================
|
||||
--- src/dbus/qdbusconnection.cpp.orig
|
||||
+++ src/dbus/qdbusconnection.cpp
|
||||
@@ -1110,8 +1110,10 @@ public:
|
||||
// make sure this connection is running on the main thread
|
||||
QCoreApplication *instance = QCoreApplication::instance();
|
||||
if (!instance) {
|
||||
+#ifndef QT_NO_DEBUG
|
||||
qWarning("QDBusConnection: %s D-Bus connection created before QCoreApplication. Application may misbehave.",
|
||||
type == SessionBus ? "session" : type == SystemBus ? "system" : "generic");
|
||||
+#endif
|
||||
} else if (QDBusConnectionPrivate::d(*this)) {
|
||||
QDBusConnectionPrivate::d(*this)->moveToThread(instance->thread());
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
Index: src/corelib/global/qglobal.h
|
||||
===================================================================
|
||||
--- src/corelib/global/qglobal.h.orig
|
||||
+++ src/corelib/global/qglobal.h
|
||||
@@ -1772,6 +1772,7 @@ Q_CORE_EXPORT void qCritical(const char
|
||||
Q_CORE_EXPORT void qFatal(const char *, ...) /* print fatal message and exit */
|
||||
#if defined(Q_CC_GNU) && !defined(__INSURE__)
|
||||
__attribute__ ((format (printf, 1, 2)))
|
||||
+ __attribute__ ((noreturn))
|
||||
#endif
|
||||
;
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
From b924fb26f14b38c5a92d7271b2eba73080cfb337 Mon Sep 17 00:00:00 2001
|
||||
From: Hrvoje Senjan <hrvoje.senjan@gmail.com>
|
||||
Date: Tue, 30 Jul 2013 01:02:38 +0200
|
||||
Subject: [PATCH 1/1] qlocale_icu-no-warning-output.patch
|
||||
|
||||
Since openSUSE now has it's own icu so versioning, and
|
||||
we can't predict what will happen in future, qWarnings
|
||||
about icu libraries and symbols are now only emmited in
|
||||
debug builds. This will be usefull regardless of icu versioning.
|
||||
|
||||
---
|
||||
src/corelib/tools/qlocale_icu.cpp | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/src/corelib/tools/qlocale_icu.cpp b/src/corelib/tools/qlocale_icu.cpp
|
||||
index c3e2907..ce09677 100644
|
||||
--- a/src/corelib/tools/qlocale_icu.cpp
|
||||
+++ b/src/corelib/tools/qlocale_icu.cpp
|
||||
@@ -84,7 +84,9 @@ bool qt_initIcu(const QString &localeString)
|
||||
QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
|
||||
lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
|
||||
if (!lib.load()) {
|
||||
+#ifndef QT_NO_DEBUG
|
||||
qWarning() << "Unable to load library icui18n" << lib.errorString();
|
||||
+#endif
|
||||
status = ErrorLoading;
|
||||
return false;
|
||||
}
|
||||
@@ -105,7 +107,9 @@ bool qt_initIcu(const QString &localeString)
|
||||
ptr_ucol_close = 0;
|
||||
ptr_ucol_strcoll = 0;
|
||||
|
||||
+#ifndef QT_NO_DEBUG
|
||||
qWarning("Unable to find symbols in icui18n");
|
||||
+#endif
|
||||
status = ErrorLoading;
|
||||
return false;
|
||||
}
|
||||
@@ -114,7 +118,9 @@ bool qt_initIcu(const QString &localeString)
|
||||
QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
|
||||
ucLib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
|
||||
if (!ucLib.load()) {
|
||||
+#ifndef QT_NO_DEBUG
|
||||
qWarning() << "Unable to load library icuuc" << ucLib.errorString();
|
||||
+#endif
|
||||
status = ErrorLoading;
|
||||
return false;
|
||||
}
|
||||
@@ -131,7 +137,9 @@ bool qt_initIcu(const QString &localeString)
|
||||
ptr_u_strToUpper = 0;
|
||||
ptr_u_strToLower = 0;
|
||||
|
||||
+#ifndef QT_NO_DEBUG
|
||||
qWarning("Unable to find symbols in icuuc");
|
||||
+#endif
|
||||
status = ErrorLoading;
|
||||
return false;
|
||||
}
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
Index: src/corelib/kernel/qeventdispatcher_unix.cpp
|
||||
===================================================================
|
||||
--- src/corelib/kernel/qeventdispatcher_unix.cpp.orig
|
||||
+++ src/corelib/kernel/qeventdispatcher_unix.cpp
|
||||
@@ -592,6 +592,21 @@ int QTimerInfoList::activateTimers()
|
||||
|
||||
if (!firstTimerInfo) {
|
||||
firstTimerInfo = currentTimerInfo;
|
||||
+ QObject* o = firstTimerInfo->obj;
|
||||
+ static int debug_timer = -1;
|
||||
+ if (debug_timer < 0)
|
||||
+ debug_timer = getenv("QT_DEBUG_TIMER") ? 1 : 0;
|
||||
+ if (debug_timer > 0) {
|
||||
+ QString objPath = o->objectName();
|
||||
+ if(objPath.isEmpty()) objPath = QLatin1String("<") + o->parent()->metaObject()->className() + QLatin1String(">");
|
||||
+ for (; o->parent(); o = o->parent())
|
||||
+ if (!o->parent()->objectName().isEmpty())
|
||||
+ objPath.prepend(o->parent()->objectName() + "/");
|
||||
+ else
|
||||
+ objPath.prepend(QLatin1String("<") + o->parent()->metaObject()->className() + QLatin1String(">/"));
|
||||
+ qDebug("activating %d ms timer for %s", firstTimerInfo->interval.tv_sec * 1000
|
||||
+ + firstTimerInfo->interval.tv_usec / 1000, qPrintable(objPath));
|
||||
+ }
|
||||
} else if (firstTimerInfo == currentTimerInfo) {
|
||||
// avoid sending the same timer multiple times
|
||||
break;
|
||||
@@ -0,0 +1,30 @@
|
||||
Index: configure
|
||||
===================================================================
|
||||
--- configure.orig
|
||||
+++ configure
|
||||
@@ -65,7 +65,6 @@ OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s,
|
||||
|
||||
# initialize global variables
|
||||
QMAKE_SWITCHES=
|
||||
-QMAKE_VARS=
|
||||
QMAKE_CONFIG=
|
||||
QTCONFIG_CONFIG=
|
||||
QT_CONFIG=
|
||||
@@ -1625,7 +1624,7 @@ while [ "$#" -gt 0 ]; do
|
||||
QMakeVar add QMAKE_CFLAGS -pg
|
||||
QMakeVar add QMAKE_CXXFLAGS -pg
|
||||
QMakeVar add QMAKE_LFLAGS -pg
|
||||
- QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
|
||||
+ QMakeVar add CONFIG nostrip
|
||||
else
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
@@ -3359,6 +3358,8 @@ if [ "$OPT_VERBOSE" = "yes" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
+QMakeVar add CONFIG nostrip
|
||||
+
|
||||
#-------------------------------------------------------------------------------
|
||||
# tests that don't need qmake (must be run before displaying help)
|
||||
#-------------------------------------------------------------------------------
|
||||
@@ -0,0 +1,40 @@
|
||||
Index: src/gui/text/qfontengine_x11.cpp
|
||||
===================================================================
|
||||
--- src/gui/text/qfontengine_x11.cpp.orig
|
||||
+++ src/gui/text/qfontengine_x11.cpp
|
||||
@@ -967,6 +967,26 @@ Q_GUI_EXPORT void qt_x11ft_convert_patte
|
||||
*antialias = b;
|
||||
}
|
||||
|
||||
+#include <ft2build.h>
|
||||
+#include FT_FREETYPE_H
|
||||
+#include FT_LCD_FILTER_H
|
||||
+
|
||||
+static bool subpixel_rendering_available()
|
||||
+{
|
||||
+ static int implemented = -1;
|
||||
+
|
||||
+ if (implemented >= 0)
|
||||
+ return implemented;
|
||||
+
|
||||
+ extern FT_Library qt_getFreetype();
|
||||
+ FT_Library lib = qt_getFreetype();
|
||||
+
|
||||
+ if (FT_Err_Unimplemented_Feature ==
|
||||
+ FT_Library_SetLcdFilter(lib, FT_LCD_FILTER_DEFAULT ))
|
||||
+ return (implemented = false);
|
||||
+
|
||||
+ return (implemented = true);
|
||||
+}
|
||||
|
||||
QFontEngineX11FT::QFontEngineX11FT(FcPattern *pattern, const QFontDef &fd, int screen)
|
||||
: QFontEngineFT(fd)
|
||||
@@ -984,7 +1004,7 @@ QFontEngineX11FT::QFontEngineX11FT(FcPat
|
||||
canUploadGlyphsToServer = QApplication::testAttribute(Qt::AA_X11InitThreads) || (qApp->thread() == QThread::currentThread());
|
||||
|
||||
subpixelType = Subpixel_None;
|
||||
- if (antialias) {
|
||||
+ if (subpixel_rendering_available() && antialias) {
|
||||
int subpixel = X11->display ? X11->screens[screen].subpixel : FC_RGBA_UNKNOWN;
|
||||
if (subpixel == FC_RGBA_UNKNOWN)
|
||||
(void) FcPatternGetInteger(pattern, FC_RGBA, 0, &subpixel);
|
||||
Binary file not shown.
@@ -0,0 +1,496 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>qt</Name>
|
||||
<Homepage>http://qt.nokia.com</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>LGPLv2.1</License>
|
||||
<License>GPLv3</License>
|
||||
<IsA>library</IsA>
|
||||
<Summary>Qt toolkit version 4</Summary>
|
||||
<Description>Qt is a cross platform GUI toolkit.</Description>
|
||||
<Archive sha1sum="ddf9c20ca8309a116e0466c42984238009525da6" type="targz">http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>mariadb-lib</Dependency>
|
||||
<Dependency>cups-devel</Dependency>
|
||||
<Dependency>mesa-devel</Dependency>
|
||||
<Dependency>gtk2-devel</Dependency>
|
||||
<Dependency>tiff-devel</Dependency>
|
||||
<Dependency>libSM-devel</Dependency>
|
||||
<Dependency>libICE-devel</Dependency>
|
||||
<Dependency>libmng-devel</Dependency>
|
||||
<Dependency>libXext-devel</Dependency>
|
||||
<Dependency>alsa-lib-devel</Dependency>
|
||||
<Dependency>firebird-devel</Dependency>
|
||||
<Dependency>unixODBC-devel</Dependency>
|
||||
<Dependency>libXrandr-devel</Dependency>
|
||||
<Dependency>gstreamer-devel</Dependency>
|
||||
<Dependency>fontconfig-devel</Dependency>
|
||||
<Dependency>libXrender-devel</Dependency>
|
||||
<Dependency>postgresql-server</Dependency>
|
||||
<Dependency>libjpeg-turbo-devel</Dependency>
|
||||
<Dependency>firebird-superserver</Dependency>
|
||||
<Dependency>gst-plugins-base-devel</Dependency>
|
||||
<Dependency>qtchooser</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<!-- Fedora Patches -->
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch</Patch>
|
||||
<Patch level="1">fedora/qt-cupsEnumDests.patch</Patch>
|
||||
<Patch level="1">fedora/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch</Patch>
|
||||
<Patch level="1">fedora/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.5-mysql_config.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.6.2-cups.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.3-no_Werror.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch</Patch>
|
||||
<!--For LibreOffice -->
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch</Patch>
|
||||
<Patch level="1">fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch</Patch>
|
||||
<!-- OpenSuse Patches -->
|
||||
<Patch level="0">opensuse/qt-never-strip.diff</Patch>
|
||||
<Patch level="0">opensuse/use-freetype-default.diff</Patch>
|
||||
<Patch level="0">opensuse/0191-listview-alternate-row-colors.diff</Patch>
|
||||
<Patch level="0">opensuse/0188-fix-moc-parser-same-name-header.diff</Patch>
|
||||
<Patch level="0">opensuse/0195-compositing-properties.diff</Patch>
|
||||
<Patch level="0">opensuse/0180-window-role.diff</Patch>
|
||||
<Patch level="0">opensuse/0225-invalidate-tabbar-geometry-on-refresh.patch</Patch>
|
||||
<Patch level="0">opensuse/qt-debug-timer.diff</Patch>
|
||||
<Patch level="0">opensuse/qfatal-noreturn.diff</Patch>
|
||||
<Patch level="0">opensuse/no-moc-date.diff</Patch>
|
||||
<Patch level="0">opensuse/libqt4-libtool-nodate.diff</Patch>
|
||||
<Patch level="0">opensuse/build-qvfb-tool.diff</Patch>
|
||||
<Patch level="0">opensuse/handle-tga-files-properly.diff</Patch>
|
||||
<Patch level="0">opensuse/qdbusconnection-no-warning-output.patch</Patch>
|
||||
<Patch level="1">opensuse/fix_assistant_segfault_QTBUG-25324.patch</Patch>
|
||||
<Patch level="1">opensuse/qatomic-generic.patch</Patch>
|
||||
<Patch level="1">opensuse/QSystemTrayicon.diff</Patch>
|
||||
<Patch level="1">opensuse/fix-moc-from-choking-on-boost-headers.patch</Patch>
|
||||
<Patch level="1">opensuse/qlocale_icu-no-warning-output.patch</Patch>
|
||||
<Patch level="1">opensuse/0001-Don-t-crash-on-broken-GIF-images.patch</Patch>
|
||||
<!-- CVE Patches -->
|
||||
<Patch level="1">CVE-2014-0190.patch</Patch>
|
||||
<!-- Turkish Translations -->
|
||||
<Patch compressionType="bz2">turkish.patch.bz2</Patch>
|
||||
<!-- Pisilinux Patches -->
|
||||
<Patch level="0">mkspecs.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>qt</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>mesa</Dependency>
|
||||
<Dependency>tiff</Dependency>
|
||||
<Dependency>libICE</Dependency>
|
||||
<Dependency>libSM</Dependency>
|
||||
<Dependency>libmng</Dependency>
|
||||
<Dependency>libXext</Dependency>
|
||||
<Dependency>alsa-lib</Dependency>
|
||||
<Dependency>gstreamer</Dependency>
|
||||
<Dependency>fontconfig</Dependency>
|
||||
<Dependency>libXrender</Dependency>
|
||||
<Dependency>libjpeg-turbo</Dependency>
|
||||
<Dependency>qtchooser</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc</Path>
|
||||
<Path fileType="executable">/usr/lib/qt4/bin</Path>
|
||||
<Path fileType="executable">/usr/bin/qdbus*</Path>
|
||||
<Path fileType="executable">/usr/bin/qtconfig</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="data">/usr/share/applications</Path>
|
||||
<Path fileType="data">/usr/lib/qt4/imports</Path>
|
||||
<Path fileType="data">/usr/lib/qt4/templates</Path>
|
||||
<Path fileType="localedata">/usr/share/qt4/translations/*_tr.*</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/applications/qdbusviewer4.desktop">data/qdbusviewer.desktop</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/applications/qtconfig4.desktop">data/qtconfig.desktop</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-32bit</Name>
|
||||
<PartOf>emul32</PartOf>
|
||||
<Summary>32-bit shared libraries for qt</Summary>
|
||||
<BuildType>emul32</BuildType>
|
||||
<BuildDependencies>
|
||||
<Dependency>mesa-32bit</Dependency>
|
||||
<Dependency>tiff-32bit</Dependency>
|
||||
<Dependency>dbus-32bit</Dependency>
|
||||
<Dependency>zlib-32bit</Dependency>
|
||||
<Dependency>glib2-32bit</Dependency>
|
||||
<Dependency>libSM-32bit</Dependency>
|
||||
<Dependency>libpng-32bit</Dependency>
|
||||
<Dependency>libmng-32bit</Dependency>
|
||||
<Dependency>libICE-32bit</Dependency>
|
||||
<Dependency>libX11-32bit</Dependency>
|
||||
<Dependency>sqlite-32bit</Dependency>
|
||||
<Dependency>openssl-32bit</Dependency>
|
||||
<Dependency>libXext-32bit</Dependency>
|
||||
<Dependency>freetype-32bit</Dependency>
|
||||
<Dependency>alsa-lib-32bit</Dependency>
|
||||
<Dependency>libXrender-32bit</Dependency>
|
||||
<Dependency>fontconfig-32bit</Dependency>
|
||||
<Dependency>libjpeg-turbo-32bit</Dependency>
|
||||
</BuildDependencies>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>uClibc</Dependency>
|
||||
<Dependency>mesa-32bit</Dependency>
|
||||
<Dependency>tiff-32bit</Dependency>
|
||||
<Dependency>dbus-32bit</Dependency>
|
||||
<Dependency>zlib-32bit</Dependency>
|
||||
<Dependency>libSM-32bit</Dependency>
|
||||
<Dependency>glib2-32bit</Dependency>
|
||||
<Dependency>libX11-32bit</Dependency>
|
||||
<Dependency>libpng-32bit</Dependency>
|
||||
<Dependency>libmng-32bit</Dependency>
|
||||
<Dependency>libICE-32bit</Dependency>
|
||||
<Dependency>sqlite-32bit</Dependency>
|
||||
<Dependency>openssl-32bit</Dependency>
|
||||
<Dependency>libXext-32bit</Dependency>
|
||||
<Dependency>freetype-32bit</Dependency>
|
||||
<Dependency>alsa-lib-32bit</Dependency>
|
||||
<Dependency>libXrender-32bit</Dependency>
|
||||
<Dependency>fontconfig-32bit</Dependency>
|
||||
<Dependency>libjpeg-turbo-32bit</Dependency>
|
||||
<Dependency release="current">qt</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib32</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-webkit</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">qt</Dependency>
|
||||
<Dependency>gstreamer</Dependency>
|
||||
<Dependency>libXrender</Dependency>
|
||||
<Dependency>gst-plugins-base</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib/*WebKit*</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-webkit-32bit</Name>
|
||||
<PartOf>emul32</PartOf>
|
||||
<Summary>32-bit shared libraries for qt-webkit</Summary>
|
||||
<BuildType>emul32</BuildType>
|
||||
<BuildDependencies>
|
||||
<Dependency>glib2-32bit</Dependency>
|
||||
<Dependency>libX11-32bit</Dependency>
|
||||
<Dependency>sqlite-32bit</Dependency>
|
||||
<Dependency>gstreamer-32bit</Dependency>
|
||||
<Dependency>libXrender-32bit</Dependency>
|
||||
<Dependency>gst-plugins-base-32bit</Dependency>
|
||||
</BuildDependencies>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">qt-webkit</Dependency>
|
||||
<Dependency>qt-32bit</Dependency>
|
||||
<Dependency>glib2-32bit</Dependency>
|
||||
<Dependency>libX11-32bit</Dependency>
|
||||
<Dependency>sqlite-32bit</Dependency>
|
||||
<Dependency>gstreamer-32bit</Dependency>
|
||||
<Dependency>libXrender-32bit</Dependency>
|
||||
<Dependency>gst-plugins-base-32bit</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib32/*WebKit*</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-webkit-devel</Name>
|
||||
<Summary>Development files for Qt Webkit</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">qt-devel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include/Qt/*WebKit*</Path>
|
||||
<Path fileType="header">/usr/include/Qt/*webkit*</Path>
|
||||
<Path fileType="header">/usr/include/QtWebKit</Path>
|
||||
<Path fileType="data">/usr/lib/pkgconfig/*WebKit*</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-devel</Name>
|
||||
<Summary>Development files for Qt</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">qt</Dependency>
|
||||
<!-- qgl.h requires gl.h from mesa -->
|
||||
<Dependency>mesa-devel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<!-- binaries are for development -->
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="header">/usr/include</Path>
|
||||
<Path fileType="data">/usr/share/qt4/mkspecs</Path>
|
||||
<Path fileType="data">/usr/lib/pkgconfig</Path>
|
||||
<Path fileType="data">/usr/lib32/pkgconfig</Path>
|
||||
<Path fileType="data">/usr/share/qt4/q3porting.xml</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-l10n</Name>
|
||||
<IsA>locale</IsA>
|
||||
<Summary>Translation files for Qt library and tools. Supported languages are: da, de, fr, ja, pl, ru, zh_CN, zh_TW</Summary>
|
||||
<Files>
|
||||
<Path fileType="localedata">/usr/share/qt4/translations</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-designer</Name>
|
||||
<Icon>designer</Icon>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">qt</Dependency>
|
||||
<Dependency version="current">qt-webkit</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/designer</Path>
|
||||
<Path fileType="library">/usr/lib/qt4/plugins/designer</Path>
|
||||
<Path fileType="data">/usr/share/applications/designer.desktop</Path>
|
||||
<Path fileType="data">/usr/share/pixmaps/designer.png</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/applications/designer4.desktop">data/designer.desktop</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/pixmaps/designer.png">data/designer.png</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-linguist</Name>
|
||||
<Icon>linguist</Icon>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">qt</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/linguist</Path>
|
||||
<Path fileType="data">/usr/share/qt4/phrasebooks</Path>
|
||||
<Path fileType="data">/usr/share/applications/linguist.desktop</Path>
|
||||
<Path fileType="data">/usr/share/pixmaps/linguist.png</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/applications/linguist4.desktop">data/linguist.desktop</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/pixmaps/linguist.png">data/linguist.png</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-docs</Name>
|
||||
<Icon>assistant</Icon>
|
||||
<Summary>Development documents of Qt and Qt Assistant tool</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">qt</Dependency>
|
||||
<Dependency version="current">qt-webkit</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/assistant</Path>
|
||||
<Path fileType="data">/usr/share/applications/assistant.desktop</Path>
|
||||
<Path fileType="data">/usr/share/pixmaps/assistant.png</Path>
|
||||
<Path fileType="data">/usr/share/icons</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
<Path fileType="doc">/usr/share/doc/qt4/qch</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/applications/assistant4.desktop">data/assistant.desktop</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/pixmaps/assistant.png">data/assistant.png</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/icons/hicolor/128x128/apps/qt4-logo.png">data/hi128-app-qt4-logo.png</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/icons/hicolor/48x48/apps/qt4-logo.png">data/hi48-app-qt4-logo.png</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-docs-html</Name>
|
||||
<Summary>Development documents of Qt in HTML format</Summary>
|
||||
<Files>
|
||||
<Path fileType="doc">/usr/share/doc/qt4/html</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-demos</Name>
|
||||
<Icon>qt4-logo</Icon>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">qt</Dependency>
|
||||
<Dependency version="current">qt-webkit</Dependency>
|
||||
<Dependency>mesa</Dependency>
|
||||
<Dependency>phonon</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/qtdemo</Path>
|
||||
<Path fileType="library">/usr/lib/qt4/demos</Path>
|
||||
<Path fileType="library">/usr/lib/qt4/examples</Path>
|
||||
<Path fileType="library">/usr/lib/qt4/plugins/designer/libarthurplugin.so</Path>
|
||||
<Path fileType="data">/usr/share/applications/qtdemo.desktop</Path>
|
||||
<Path fileType="data">/usr/tests/qt4</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/applications/qtdemo4.desktop">data/qtdemo.desktop</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-sql-mysql</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">qt</Dependency>
|
||||
<Dependency>mariadb-lib</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-sql-postgresql</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">qt</Dependency>
|
||||
<Dependency>postgresql-lib</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib/qt4/plugins/sqldrivers/libqsqlpsql.so</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-sql-sqlite</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">qt</Dependency>
|
||||
<Dependency>sqlite</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib/qt4/plugins/sqldrivers/libqsqlite.so</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-sql-odbc</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">qt</Dependency>
|
||||
<Dependency>unixODBC</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib/qt4/plugins/sqldrivers/libqsqlodbc.so</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-sql-ibase</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">qt</Dependency>
|
||||
<Dependency>firebird-client</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib/qt4/plugins/sqldrivers/libqsqlibase.so</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="12">
|
||||
<Date>2015-04-09</Date>
|
||||
<Version>4.8.6</Version>
|
||||
<Comment>Rebuild for qt5</Comment>
|
||||
<Name>Ayhan Yalçınsoy</Name>
|
||||
<Email>ayhanyalcinsoy@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="11">
|
||||
<Date>2014-05-20</Date>
|
||||
<Version>4.8.6</Version>
|
||||
<Comment>Version bump, fix CVE.</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="10">
|
||||
<Date>2014-04-10</Date>
|
||||
<Version>4.8.5</Version>
|
||||
<Comment>Rebuild.</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="9">
|
||||
<Date>2014-02-21</Date>
|
||||
<Version>4.8.5</Version>
|
||||
<Comment>Rebuild for Mariadb.</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="8">
|
||||
<Date>2014-02-01</Date>
|
||||
<Version>4.8.5</Version>
|
||||
<Comment>Rebuild for new libmng.</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2013-12-14</Date>
|
||||
<Version>4.8.5</Version>
|
||||
<Comment>Re-cleanup qt, fix systemtray issues.</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="6">
|
||||
<Date>2013-12-11</Date>
|
||||
<Version>4.8.5</Version>
|
||||
<Comment>Cleanup some patches, rebuild.</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2013-08-05</Date>
|
||||
<Version>4.8.5</Version>
|
||||
<Comment>Patched.</Comment>
|
||||
<Name>Osman Erkan</Name>
|
||||
<Email>osman.erkan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2013-07-03</Date>
|
||||
<Version>4.8.5</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2013-03-11</Date>
|
||||
<Version>4.8.4</Version>
|
||||
<Comment>Patch cleanup, add some enhancements.</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2013-02-15</Date>
|
||||
<Version>4.8.4</Version>
|
||||
<Comment>Add emul32</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2012-12-08</Date>
|
||||
<Version>4.8.4</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Yusuf Aydemir</Name>
|
||||
<Email>yusuf.aydemir@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>qt</Name>
|
||||
<Summary xml:lang="tr">Qt araç takımı, sürüm 4</Summary>
|
||||
<Description xml:lang="tr">Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) oluşturmaya yarayan bir araç takımıdır.</Description>
|
||||
<Description xml:lang="fr">Qt est une boîte à outils graphique multi-plateforme.</Description>
|
||||
<Description xml:lang="es">Qt es un toolkit para GUI multiplataforma.</Description>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>qt-devel</Name>
|
||||
<Summary xml:lang="tr">Qt için geliştirme dosyaları</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-webkit-devel</Name>
|
||||
<Summary xml:lang="tr">Qt Webkit için geliştirme dosyaları</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-l10n</Name>
|
||||
<Summary xml:lang="tr">Qt kitaplık ve araçları için dil dosyaları. Desteklenen diller: da, de, fr, ja, pl, ru, zh_CN, zh_TW</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-docs</Name>
|
||||
<Summary xml:lang="tr">Qt için geliştirme belgeleri ve Qt Assistant aracı</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>qt-docs-html</Name>
|
||||
<Summary xml:lang="tr">Qt için HTML biçiminde geliştirme belgeleri</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user