SIGFPE in create_dpis() in QPaintDevice::~QPaintDevice

Bug #81686 reported by Simon Law
18
Affects Status Importance Assigned to Milestone
qt-x11-free (Debian)
Fix Released
Unknown
qt-x11-free (Ubuntu)
Fix Released
Medium
Simon Law

Bug Description

The fglrx binary driver has a bug in it when you suspend and resume or when you use XRandR. It will set your screen size to 0x0mm, which is an impossible situation.

In this nonsense case, we want to assume the screen is some reasonable default so that our applications will just work. This could be the Xft.dpi resource or if that doesn't exist, then fallback to 96dpi which is the KDE standard.

Revision history for this message
Simon Law (sfllaw) wrote :

I'll hack on this.

Changed in qt-x11-free:
assignee: nobody → sfllaw
importance: Undecided → Medium
status: Unconfirmed → In Progress
Changed in qt-x11-free:
status: Unknown → Unconfirmed
Revision history for this message
Daniel Holbach (dholbach) wrote :

Simon: how's this going?

Changed in qt-x11-free:
status: In Progress → Needs Info
Revision history for this message
Ken Phillis Jr (kphillisjr) wrote :

i can confirm this bug, it occurs when your using TV output.

Revision history for this message
Ken Phillis Jr (kphillisjr) wrote :

i got the information that is required, and it's not to hard.... just look at the xdpyinfo for each effected box, it should turn out somethin like this ( notice screen # 1 on my box )

xdpyinfo | grep -a2 dimen

screen #0:
  dimensions: 1280x1024 pixels (370x280 millimeters)
  resolution: 88x93 dots per inch
  depths (7): 24, 1, 4, 8, 15, 16, 32
--

screen #1:
  dimensions: 800x600 pixels (0x0 millimeters)
  resolution: -2147483648x-2147483648 dots per inch
  depths (7): 24, 1, 4, 8, 15, 16, 32

Revision history for this message
Ken Phillis Jr (kphillisjr) wrote :

got a patch that fixes the issues with the dpi's, but the problem might still occure with other apps, please resort to testing them as to figure this out, and so far i am certain that the new control panel for ati cards that is in the binary package is not fixed by this repair.

Revision history for this message
Simon Law (sfllaw) wrote :

The patch looks like it solves the problem, although you probably only want one test for (DisplayWidthMM(dpy,i) < 1).

Thanks!

Revision history for this message
Ken Phillis Jr (kphillisjr) wrote :

actually, i wanted to check the height and width, and if i am checking width twice, taht means that the second test needs to be for this statement here:

(DisplayHeightMM(dpy,i) < 1)

instead of what it is now, which is:

(DisplayWidthMM(dpy,i) < 1)

change that line to the appropriate check and it'll work even better, because it won't let the applications crash due to having a 0 for the height and/or width.

Revision history for this message
Ken Phillis Jr (kphillisjr) wrote :

just upgraded to feisty, and the pesky bug returned, but of course i didn't patch my install with my own patch so it is verified.

Revision history for this message
Ken Phillis Jr (kphillisjr) wrote :

I just updated the patch to feisty level, so here's the new patch.

Revision history for this message
Jonathan Riddell (jr) wrote :

Patch applied in qt-x11-free_3.3.8really3.3.7-0ubuntu4. Please try it once it has compiled and found its way to the mirrors and let me know if it fixes the problem.

Changed in qt-x11-free:
status: Needs Info → Fix Released
Revision history for this message
Ken Phillis Jr (kphillisjr) wrote :

on my machine it works just fine, no word from others who had this issue.

Changed in qt-x11-free:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.