Bug 67101 - KDE does not refresh dimensions and wrong orientation after randr rotation`s
Summary: KDE does not refresh dimensions and wrong orientation after randr rotation`s
Status: RESOLVED FIXED
Alias: None
Product: krandr
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Hamish Rodda
URL:
Keywords:
: 110394 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-11-03 10:07 UTC by robert
Modified: 2012-06-20 07:57 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
qt-20031104.patch (3.10 KB, text/x-diff)
2003-11-04 12:03 UTC, Hamish Rodda
Details
buildall (512 bytes, application/x-shellscript)
2003-11-04 12:03 UTC, Hamish Rodda
Details

Note You need to log in before you can comment on or make changes to this bug.
Description robert 2003-11-03 10:07:52 UTC
Version:            (using KDE KDE 3.1.4)
Installed from:    SuSE RPMs
OS:          Linux

when using xrandr to rotate the screen to left or right( installed latest kdrive X-Server with Xsmi for siliconmotion chipset ) the dimension`s are not refreshed and so the Kicker fe is shown in the 2/3 of the screen and not on the "new" bottom. 

Also the Kcmrandr interface is not rotating to the correct orientation`s ..
choosing left causes upside down 
choosing right causes nothing or broken screen ..
choosing upside down causes nothing ...

Gnome does rotate with no error , also Twm is correct after a extra click on "refresh "
Comment 1 robert 2003-11-04 10:11:12 UTC
3.1.93 now does rotate to the correct direction , but still the dimension is not updated and so the Kicker bar stays in the 2/3 of the screen .,...
Comment 2 Hamish Rodda 2003-11-04 10:17:16 UTC
Yes, I know about this... it's a problem inside qt (for some reason it thinks the width and height have not changed, so skips informing apps about it).  I'm working on it...
Comment 3 robert 2003-11-04 10:34:48 UTC
Subject: Re:  KDE does not refresh dimensions and wrong orientation
 after randr rotation`s

Hamish Rodda schrieb:

>------- You are receiving this mail because: -------
>You reported the bug, or are watching the reporter.
>     
>http://bugs.kde.org/show_bug.cgi?id=67101     
>rodda@kde.org changed:
>
>           What    |Removed                     |Added
>----------------------------------------------------------------------------
>             Status|UNCONFIRMED                 |ASSIGNED
>      everconfirmed|0                           |1
>
>
>
>------- Additional Comments From rodda@kde.org  2003-11-04 10:17 -------
>Yes, I know about this... it's a problem inside qt (for some reason it thinks the width and height have not changed, so skips informing apps about it).  I'm working on it...
>  
>
Great ... looking forward to it ... send me any binary ( iam not lucky 
within compiling KDE as source most of the time ) you have .. so i can 
test it for you !

Comment 4 Hamish Rodda 2003-11-04 12:03:30 UTC
Subject: Qt doesn't take screen rotation into account when determining desktop width and height

Hi,

I was investigating why Qt (qt-copy cvs head ie. 3.2.2) doesn't detect a 
change in desktop size when the rotation of the screen changes to be at right 
angles (90 and 270 degrees) to the normal rotation (0 degrees), when I found 
that the xlib functions DisplayWidth / DisplayHeight and WidthOfScreen / 
HeightOfScreen do not take into account the rotation of the screen.

This causes KDE not to reconfigure itself when the rotation of the screen is 
changed.  You can see this by compiling the X servers available from:

http://pdx.freedesktop.org/Software/Home

especially:

http://pdx.freedesktop.org/Software/xserver
http://pdx.freedesktop.org/Software/xlibs

I have attached a shell script to help you to build them.  I am using the 
Xvesa server to test this.  I'm happy to provide further instructions as to 
how to compile / get a test environment set up.

I have attached a patch which switches width and height of the desktop when 
the screen is rotated to 90 or 270 degrees.  I've only done this for the 
non-xinerama case, and only for QDesktopWidget.  I imagine that xinerama 
needs to have this change made too, and there are likely to be other places 
within Qt as well, though I have not checked.  It's also possible that there 
is a more elegant solution that I'm not seeing...

Thanks,
Hamish.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/p4dZH8BtnSmIlUYRAtoeAKCBzSVmRKIlmnIX8ddoabAIi3I3QwCfViG8
zcDIR8MlhlTcuwHXXcy0K+M=
=TK+9
-----END PGP SIGNATURE-----


Created an attachment (id=3014)
qt-20031104.patch

Created an attachment (id=3015)
buildall
Comment 5 robert 2003-11-04 12:28:20 UTC
Subject: Re:  KDE does not refresh dimensions and wrong orientation
 after randr rotation`s

Hamish Rodda schrieb:

>------- You are receiving this mail because: -------
>You reported the bug, or are watching the reporter.
>     
>http://bugs.kde.org/show_bug.cgi?id=67101     
>
>
>
>
>------- Additional Comments From rodda@kde.org  2003-11-04 12:03 -------
>Subject: Qt doesn't take screen rotation into account when determining desktop width and height
>
>Hi,
>
>I was investigating why Qt (qt-copy cvs head ie. 3.2.2) doesn't detect a 
>change in desktop size when the rotation of the screen changes to be at right 
>angles (90 and 270 degrees) to the normal rotation (0 degrees), when I found 
>that the xlib functions DisplayWidth / DisplayHeight and WidthOfScreen / 
>HeightOfScreen do not take into account the rotation of the screen.
>
>This causes KDE not to reconfigure itself when the rotation of the screen is 
>changed.  You can see this by compiling the X servers available from:
>
>http://pdx.freedesktop.org/Software/Home
>
>especially:
>
>http://pdx.freedesktop.org/Software/xserver
>http://pdx.freedesktop.org/Software/xlibs
>
>I have attached a shell script to help you to build them.  I am using the 
>Xvesa server to test this.  I'm happy to provide further instructions as to 
>how to compile / get a test environment set up.
>
hmm ,., i basicly understand the problem , but the patches you sent are 
against the qt -source ..
so what do i need to do ?
i am sucessfully able to build kdrive and all related stuff ...i was 
also able to build qt-3.2 ( but on a different pc )
and i am retrying now to build at least kdelibs and kdebase ....( i had 
huge errors regarding the libsdc++ ... but i think it works maybe now 
..( reinstalled
all gcc rpm ) ...

is it correct that i need to ... :
patch qt with yours ...
rebuild qt  and then kdebase and kdelibs
rebuild kdrive  then test it ?

sorry

>
>I have attached a patch which switches width and height of the desktop when 
>the screen is rotated to 90 or 270 degrees.  I've only done this for the 
>non-xinerama case, and only for QDesktopWidget.  I imagine that xinerama 
>needs to have this change made too, and there are likely to be other places 
>within Qt as well, though I have not checked.  It's also possible that there 
>is a more elegant solution that I'm not seeing...
>
>Thanks,
>Hamish.
>-----BEGIN PGP SIGNATURE-----
>Version: GnuPG v1.2.3 (GNU/Linux)
>
>iD8DBQE/p4dZH8BtnSmIlUYRAtoeAKCBzSVmRKIlmnIX8ddoabAIi3I3QwCfViG8
>zcDIR8MlhlTcuwHXXcy0K+M=
>=TK+9
>-----END PGP SIGNATURE-----
>
>
>Created an attachment (id=3014)
> --> (http://bugs.kde.org/attachment.cgi?id=3014&action=view)
>qt-20031104.patch
>
>Created an attachment (id=3015)
> --> (http://bugs.kde.org/attachment.cgi?id=3015&action=view)
>buildall
>
>  
>

Comment 6 Hamish Rodda 2003-11-04 12:45:24 UTC
Oh, that email was primarily for qt-bugs, which is why it might sound a bit strange to you :) ... but if you want to try it out, you only need to rebuild qt, not kde or kdrive.  Instructions on building qt are here:

http://developer.kde.org/build/compile_cvs.html

I've tested it myself briefly and kicker is working fine now (in non-xinerama, non-multihead), but I'll be happy to hear how it works for you & if there are any further bugs...

Cheers, Hamish.
Comment 7 robert 2003-11-04 14:09:34 UTC
Subject: Re:  KDE does not refresh dimensions and wrong orientation
 after randr rotation`s

Hamish Rodda schrieb:

>------- You are receiving this mail because: -------
>You reported the bug, or are watching the reporter.
>     
>http://bugs.kde.org/show_bug.cgi?id=67101     
>
>
>
>
>------- Additional Comments From rodda@kde.org  2003-11-04 12:45 -------
>Oh, that email was primarily for qt-bugs, which is why it might sound a bit strange to you :) ... but if you want to try it out, you only need to rebuild qt, not kde or kdrive.  Instructions on building qt are here:
>
>http://developer.kde.org/build/compile_cvs.html
>
>I've tested it myself briefly and kicker is working fine now (in non-xinerama, non-multihead), but I'll be happy to hear how it works for you & if there are any further bugs...
>
OOOKK .. now this looks great ... i did recompile qt and now it looks 
perfect ..
thanks you , i can close this bug now if you wish ( maybe i keep it up 
for some more days to be sure nothing comes up in my further testings ,..

Maybe you can inform the qt guys to apply your patch ( or at least think 
of it )

Keep up the good work !

Robert

>
>Cheers, Hamish.
>
>  
>

Comment 8 Hamish Rodda 2003-11-05 06:52:49 UTC
I'll leave it open while I wait for trolltech to respond to the bug report.  Good to know it's working for you :)
Comment 9 qt-bugs 2003-11-05 12:28:17 UTC
Subject: Re: [Issue N34454] Qt doesn't take screen rotation into account when determining desktop width and height

On Tuesday, 04. Nov 2003 22:02 Hamish Rodda wrote:
> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>
> Hi,
>
> I was investigating why Qt (qt-copy cvs head ie. 3.2.2) doesn't detect
> a change in desktop size when the rotation of the screen changes to be
> at right angles (90 and 270 degrees) to the normal rotation (0
> degrees), when I found that the xlib functions DisplayWidth /
> DisplayHeight and WidthOfScreen / HeightOfScreen do not take into
> account the rotation of the screen.
>
> This causes KDE not to reconfigure itself when the rotation of the
> screen is changed. You can see this by compiling the X servers
> available from:
>
> http://pdx.freedesktop.org/Software/Home
>
> especially:

Hi Hamish

Thanks for the patch. We'll consider it for a future release.

best regards

Anders Bakken
--
Trolltech AS, Waldemar Thranes gate 98, NO-0175 Oslo, Norway

Comment 10 Hamish Rodda 2003-11-05 13:18:01 UTC
Subject: qt-copy/patches

CVS commit by rodda: 

Fix for Qt not taking screen rotation into account when determining desktop width
and height.  Submitted to Trolltech, will be considered for inclusion into
future release.

Needed to make tablet users happy ;)  Now all I need is a tablet.

CCMAIL:67101-done@bugs.kde.org


  A            0032-fix_rotated_randr.diff   1.1
  M +1 -1      README   1.8


--- qt-copy/patches/README  #1.7:1.8
@@ -1,4 +1,4 @@
 Please assign the numbers incrementally, and don't reuse them. The next one:
-#0032
+#0033
 
 This directory contains patches for Qt that haven't been accepted by TrollTech


Comment 11 Lubos Lunak 2005-04-11 13:15:18 UTC
CVS commit by lunakl: 

The old qt-copy patch #0032 was wrong, and the real problem is in the X server
anyway, see https://bugs.freedesktop.org/show_bug.cgi?id=2965 .
BUG: 101516
CCBUG: 67101
CCMAIL: Hamish Rodda <rodda@kde.org>


  M +15 -88    0032-fix_rotated_randr.diff   1.4
Comment 12 Lubos Lunak 2005-08-10 11:54:20 UTC
*** Bug 110394 has been marked as a duplicate of this bug. ***
Comment 13 steffen 2005-08-10 14:12:44 UTC
What a pity that a workaround for the 'real problem in the X server' is not possible. State of affairs is now: 
NVidia users can't rotate their TFT's with the closed source driver, they can rotate with the open source driver, but in a very slow unaccelerated mode. (You can't even watch a DVD in that slow rotated mode.)

Is there anybody out there who can push nvidia's linux driver development?