QtWebKit 2.3β1

Qt の WebKit モジュール(QtWebKit)には Qt 自身のバージョンとは個別のバージョン番号があることをご存じですか。例えば、Qt 4.8 に同梱されている QtWebKit は 2.2 ですし、Qt 5.0 では QtWebKit 3.0 になります。

Qt Project では Qt の新機能の開発は Qt5 に対して行われていて、Qt4 はメンテナンスモードになっています。QtWebKit も Qt4 向けの 2.x 系は公式にはメンテナンスモードなのですが、非公式のプロジェクトとして Qt5 の QtWebKit 3.0 同等の機能を Qt4 で実現する QtWebKit 2.3 が開発されています。

その QtWebKit 2.3 が β1 となりました。QtWebKit 2.3 では QtWebKit 3.0 同様に多くのバグフィックスと WebGL, CSS Animation, CSS Shader 等の新機能の追加が行われています。

詳しくは以下の記事を参照してください。

Qt Quick 2 のスピード

Qt5 の目玉である Qt Quick 2 は OpenGL や QML Scene Graph、V8 JavaScript エンジンの採用でパフォーマンスを Qt Quick 1 から大幅に向上させています。とは言うものの、バグや Mesa のようなソフトウェア 3D エンジンの利用などで Qt Quick 1 よりも遅くなることもあります。

は Qt Quick 2 でアプリが遅くなったことに関する質問から始まったやりとりですが、その中で Qt5 では上記以外にどのようなテクニックを使って Qt Quick のパフォーマンスの改善を行っているかの説明があります。興味深い内容ですので、要約してみましょう。

“Qt Quick 2 のスピード” の続きを読む

セキュリティアドバイザリー: トルコの不正中間証明書への対策

トルコの認証局 Türktrust が誤って不正な中間 CA 証明書を発行していた問題について、セキュリティアドバイザリーがアナウンスされています。

5.0.0 を含むすべてのバージョンの Qt に影響します。この問題では該当する証明書を元になりすましなどの攻撃が行われる可能性があります。

対策としてはまもなくリリース予定の 5.0.1 や 4.8.5 を利用するか、パッチ を適用してください。なお、パッチにはテスト用のファイルも含まれているため、リポジトリではなくリリースされているアーカイブのソースに適用する場合エラーが発生すると思いますが、src/network/ssl/qsslcertificate.cpp にパッチが適用されていれば問題有りません。

“セキュリティアドバイザリー: トルコの不正中間証明書への対策” の続きを読む

Qt5 の Input Method

先日の勉強会 では話題にするのをすっかり忘れていましたが、Qt5 では Input Method も大きく変更されています。思ったよりも調査に時間がかかったため遅くなってしまいましたが、簡単な説明資料を作成しておきました。不明点など有りましたら質問してください。

基本的には以下の目的を満たすように設計し直されています。

  • QtGui と QtWidgets の分離に合わせて、QWidget 依存の削除
  • アプリとの連携機能の強化

とはいえ、組み込み等で Input Method を作成していた人や細かな制御を行っていたような一部の人を除けば、(特にデスクトップ系では) API の変更が直接影響するケースは少ないと思います。(間接的には QPA への移行などによるコード変更によって、挙動に問題が生じていないかは気をつけた方がいいかもしれません。)

“Qt5 の Input Method” の続きを読む

セキュリティアドバイザリー: QSslSocket で間違ったエラーが返る可能性

Qt4 の QSslSocket にセキュリティアドバイザリーがアナウンスされています。

openssl の 0.9.8 と 1.0.0 にバイナリ互換性がないため、ビルド時とは異なるバージョンの openssl を実行時に用いた場合、証明書の認証に失敗した場合に間違ったエラーを返す可能性があります。

対策としてはまもなくリリースされる 4.8.5 や 4.7.6、4.6.5 の利用や、パッチ を適用してください。詳細は上記のアナウンスを参照してください。

なお、Qt 5.0.0 には上記のパッチが含まれています。