From kfm-devel Thu Aug 01 15:51:49 2013 From: =?iso-8859-1?Q?Thomas_L=FCbking?= Date: Thu, 01 Aug 2013 15:51:49 +0000 To: kfm-devel Subject: Window modality, (was: Re: KDirWatch bug and the analysis. Help is =?iso-8859-1?Q?welcome!)?= Message-Id: <4c0bccf6-cf53-4051-a79a-b69cdedde081 () gmail ! com> X-MARC-Message: https://marc.info/?l=kfm-devel&m=137537223507683 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--trojita=_eadda1bb-036b-442a-a7b0-821a85a506d1" This is a multipart/mixed message in MIME format. --trojita=_eadda1bb-036b-442a-a7b0-821a85a506d1 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable =0A *** Please keep me CC, thanks ***=0A=0A=0AOn Donnerstag, 1. Au= gust 2013 16:05:01 CEST, Frank Reininghaus wrote:=0A> Hi,=0A>=0A> 2013/= 8/1 Thomas L=C3=BCbking:=0A>> On Donnerstag, 1. August 2013 13:24:19 CE= ST, Frank Reininghaus wrote: ...=0A=0A> http://quickgit.kde.org/?p=3Dkd= e-baseapps.git&a=3Dcommit&h=3Dfff7573ebb910712ad97951bf1762e6a7bb0bdc7=0A= =0AThanks. Seems mostly crashing, window modality and status message as= signment.=0A=0A> OK, thanks for the hint! Not all modal dialogs come fr= om Dolphin=0A> itself though (example: KIO's "File exists already" dial= og), so one=0A> would have to make sure that these external dialogs use= =0A> Qt::WindowModal too.=0A> ...=0A> Well, if it can be done without r= egressions (except for the "one=0A> window crashes all" issue), then I = wouldn't mind. It would reduce the=0A> memory usage and the startup tim= e, after all.=0A=0ADepends on how "ugly" your willing to let it get. Se= e attached patch.=0A=0AIt "fixes" all modality to be window modal - if = you ever need a truely application modal dialog etc., you'd have to exl= ude that (or whitelist widget types to become window modal) - eg. by ad= ding a dynamic property or reimplementing its showEvent()=0A=0AThe stat= usbar assumption (ie. probably some signal/slot binding) should be clea= nly implementable.=0A=0ACheers,=0AThomas --trojita=_eadda1bb-036b-442a-a7b0-821a85a506d1 Content-Type: text/x-patch Content-Disposition: attachment; filename="0001-fix-window-modality.patch" Content-Transfer-Encoding: base64 RnJvbSAzMzAxNWRiOTYwZGNmNTNjZDI1ZWU0MDU0ZDcxZTM2YjdhMmUyZGFhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VGhvbWFzPTIwTD1DMz1CQ2JraW5nPz0gPHRo b21hcy5sdWVia2luZ0BnbWFpbC5jb20+CkRhdGU6IFRodSwgMSBBdWcgMjAxMyAxNzoyMTozMyAr MDIwMApTdWJqZWN0OiBbUEFUQ0hdIGZpeCB3aW5kb3cgbW9kYWxpdHkKCi0tLQogZG9scGhpbi9z cmMvZG9scGhpbm1haW53aW5kb3cuY3BwIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIGRvbHBoaW4vc3JjL2RvbHBoaW5tYWlud2luZG93LmggICB8ICA2ICsrKysrKwogMiBmaWxl cyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZG9scGhpbi9zcmMvZG9s cGhpbm1haW53aW5kb3cuY3BwIGIvZG9scGhpbi9zcmMvZG9scGhpbm1haW53aW5kb3cuY3BwCmlu ZGV4IDk0NTRjOGMuLjExZGJmZjMgMTAwNjQ0Ci0tLSBhL2RvbHBoaW4vc3JjL2RvbHBoaW5tYWlu d2luZG93LmNwcAorKysgYi9kb2xwaGluL3NyYy9kb2xwaGlubWFpbndpbmRvdy5jcHAKQEAgLTc5 LDYgKzc5LDcgQEAKICNpbmNsdWRlIDxLVXJsQ29tYm9Cb3g+CiAjaW5jbHVkZSA8S1Rvb2xJbnZv Y2F0aW9uPgogCisjaW5jbHVkZSA8UUNoaWxkRXZlbnQ+CiAjaW5jbHVkZSA8UURlc2t0b3BXaWRn ZXQ+CiAjaW5jbHVkZSA8UURCdXNNZXNzYWdlPgogI2luY2x1ZGUgPFFLZXlFdmVudD4KQEAgLTYz MCw2ICs2MzEsMzQgQEAgdm9pZCBEb2xwaGluTWFpbldpbmRvdzo6Y2xvc2VFdmVudChRQ2xvc2VF dmVudCogZXZlbnQpCiAgICAgS1htbEd1aVdpbmRvdzo6Y2xvc2VFdmVudChldmVudCk7CiB9CiAK K2Jvb2wgRG9scGhpbk1haW5XaW5kb3c6OmV2ZW50RmlsdGVyKFFPYmplY3QgKm8sIFFFdmVudCAq ZSkKK3sKKyAgICBpZiAoZS0+dHlwZSgpID09IFFFdmVudDo6U2hvdykgeworICAgICAgICBRV2lk Z2V0ICp3ID0gcW9iamVjdF9jYXN0PFFXaWRnZXQqPihvKTsKKyAgICAgICAgaWYgKHcgJiYgdy0+ aXNXaW5kb3coKSAmJiB3LT5pc01vZGFsKCkpIHsKKyAgICAgICAgICAgIHctPnNldFdpbmRvd01v ZGFsaXR5KFF0OjpXaW5kb3dNb2RhbCk7CisgICAgICAgIH0KKyAgICAgICAgby0+cmVtb3ZlRXZl bnRGaWx0ZXIodGhpcyk7IC8vIGhvcGVmdWxseSBubyBsb25nZXIgbmVlZGVkCisgICAgfQorICAg IHJldHVybiBmYWxzZTsKK30KKwordm9pZCBEb2xwaGluTWFpbldpbmRvdzo6Y2hpbGRFdmVudChR Q2hpbGRFdmVudCogZXZlbnQpCit7CisgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gUUV2ZW50OjpD aGlsZEFkZGVkICYmIGV2ZW50LT5jaGlsZCgpLT5pc1dpZGdldFR5cGUoKSkgeworICAgICAgICBR V2lkZ2V0ICp3ID0gc3RhdGljX2Nhc3Q8UVdpZGdldCo+KGV2ZW50LT5jaGlsZCgpKTsKKyAgICAg ICAgaWYgKHctPmlzV2luZG93KCkpIHsKKyAgICAgICAgICAgIGlmICh3LT5pc01vZGFsKCkpIHsK KyAgICAgICAgICAgICAgICB3LT5zZXRXaW5kb3dNb2RhbGl0eShRdDo6V2luZG93TW9kYWwpOwor ICAgICAgICAgICAgfSBlbHNlIHsgLy8gcmVnLiBjYXNlLCBlc3AuIGZvciBLSU8KKyAgICAgICAg ICAgICAgICB3LT5yZW1vdmVFdmVudEZpbHRlcih0aGlzKTsgLy8gcHJldmVudCBkb3VibGUgaW5z dGFsbGF0aW9uCisgICAgICAgICAgICAgICAgdy0+aW5zdGFsbEV2ZW50RmlsdGVyKHRoaXMpOyAv LyBmaXggbW9kYWxpdHkgb24gc2hvdworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQor ICAgIEtYbWxHdWlXaW5kb3c6OmNoaWxkRXZlbnQoZXZlbnQpOworfQorCiB2b2lkIERvbHBoaW5N YWluV2luZG93OjpzYXZlUHJvcGVydGllcyhLQ29uZmlnR3JvdXAmIGdyb3VwKQogewogICAgIGNv bnN0IGludCB0YWJDb3VudCA9IG1fdmlld1RhYi5jb3VudCgpOwpkaWZmIC0tZ2l0IGEvZG9scGhp bi9zcmMvZG9scGhpbm1haW53aW5kb3cuaCBiL2RvbHBoaW4vc3JjL2RvbHBoaW5tYWlud2luZG93 LmgKaW5kZXggN2RhNTgwMS4uOWY0NjAyNyAxMDA2NDQKLS0tIGEvZG9scGhpbi9zcmMvZG9scGhp bm1haW53aW5kb3cuaAorKysgYi9kb2xwaGluL3NyYy9kb2xwaGlubWFpbndpbmRvdy5oCkBAIC0x NjMsNiArMTYzLDEyIEBAIHByb3RlY3RlZDoKICAgICAvKiogQHNlZSBRTWFpbldpbmRvdzo6Y2xv c2VFdmVudCgpICovCiAgICAgdmlydHVhbCB2b2lkIGNsb3NlRXZlbnQoUUNsb3NlRXZlbnQqIGV2 ZW50KTsKIAorICAgIC8qKiBAc2VlIFFXaWRnZXQ6OmNoaWxkRXZlbnQoKSAqLworICAgIHZpcnR1 YWwgdm9pZCBjaGlsZEV2ZW50KFFDaGlsZEV2ZW50KiBldmVudCk7CisKKyAgICAvKiogQHNlZSBR V2lkZ2V0OjpldmVudEZpbHRlcigpICovCisgICAgYm9vbCBldmVudEZpbHRlcihRT2JqZWN0ICpv LCBRRXZlbnQgKmUpOworCiAgICAgLyoqIEBzZWUgS01haW5XaW5kb3c6OnNhdmVQcm9wZXJ0aWVz KCkgKi8KICAgICB2aXJ0dWFsIHZvaWQgc2F2ZVByb3BlcnRpZXMoS0NvbmZpZ0dyb3VwJiBncm91 cCk7CiAKLS0gCjEuOC4zLjEKCg== --trojita=_eadda1bb-036b-442a-a7b0-821a85a506d1--