--- a/windowing/windowserver/nga/CLIENT/RSCRDEV.CPP Sat Feb 20 00:07:50 2010 +0200
+++ b/windowing/windowserver/nga/CLIENT/RSCRDEV.CPP Fri Mar 12 15:50:05 2010 +0200
@@ -254,6 +254,11 @@
TInt64 twips=aTwips;
TSize displaySizeInPixels = DisplaySizeInPixels();
TSize physicalScreenSizeInTwips = PhysicalScreenSizeInTwips();
+ if (displaySizeInPixels.iWidth <= 0 ||
+ physicalScreenSizeInTwips.iWidth <= 0)
+ {
+ return 0;
+ }
twips=(twips*displaySizeInPixels.iWidth+(physicalScreenSizeInTwips.iWidth/2))/physicalScreenSizeInTwips.iWidth;
return I64INT(twips);
}
@@ -267,6 +272,11 @@
TInt64 twips=aTwips;
TSize displaySizeInPixels = DisplaySizeInPixels();
TSize physicalScreenSizeInTwips = PhysicalScreenSizeInTwips();
+ if (displaySizeInPixels.iHeight <= 0 ||
+ physicalScreenSizeInTwips.iHeight <= 0)
+ {
+ return 0;
+ }
twips=(twips*displaySizeInPixels.iHeight+(physicalScreenSizeInTwips.iHeight/2))/physicalScreenSizeInTwips.iHeight;
return I64INT(twips);
}
@@ -280,6 +290,11 @@
TInt64 pixels=aPixels;
TSize displaySizeInPixels = DisplaySizeInPixels();
TSize physicalScreenSizeInTwips = PhysicalScreenSizeInTwips();
+ if (displaySizeInPixels.iWidth <= 0 ||
+ physicalScreenSizeInTwips.iWidth <= 0)
+ {
+ return 0;
+ }
pixels=(pixels*physicalScreenSizeInTwips.iWidth+(displaySizeInPixels.iWidth/2))/displaySizeInPixels.iWidth;
return I64INT(pixels);
}
@@ -294,6 +309,11 @@
TInt64 pixels=aPixels;
TSize displaySizeInPixels = DisplaySizeInPixels();
TSize physicalScreenSizeInTwips = PhysicalScreenSizeInTwips();
+ if (displaySizeInPixels.iHeight <= 0 ||
+ physicalScreenSizeInTwips.iHeight <= 0)
+ {
+ return 0;
+ }
pixels=(pixels*physicalScreenSizeInTwips.iHeight+(displaySizeInPixels.iHeight/2))/displaySizeInPixels.iHeight;
return I64INT(pixels);
}