jayduhon / inferno-os

Automatically exported from code.google.com/p/inferno-os
2 stars 0 forks source link

Mac OS X graphics don't seem to work on Mountain Lion very well #302

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

Build and run on Mountain Lion.  Use "wm/wm", and note that the desktop 
presented doesn't behave well.

Original issue reported on code.google.com by leim...@gmail.com on 23 Sep 2013 at 7:48

GoogleCodeExporter commented 9 years ago
My guess is that this is due to Carbon going out of style.  Looking at 
Cocoa-drawterm to see if I can be helpful here somehow.  

https://bitbucket.org/jas/drawterm-cocoa/downloads

Original comment by leim...@gmail.com on 23 Sep 2013 at 7:52

GoogleCodeExporter commented 9 years ago
Are you referring to the behaviour where moving windows leaves black 
(unpainted) sections behind?

Original comment by joseph.s...@gmail.com on 29 Nov 2013 at 7:37

GoogleCodeExporter commented 9 years ago
Chris Owens posted a fix for this on the old Inferno ML 
(http://thread.gmane.org/gmane.os.inferno.general/5684/focus=5692).

I'll paste his patch here for continuity.

--- a/emu/MacOSX/win.c  Mon Nov 11 15:00:50 2013 +0000
+++ b/emu/MacOSX/win.c  Thu Nov 28 06:06:47 2013 +0100
<at> <at> -573,10 +573,12 <at> <at>
    QDBeginCGContext(GetWindowPort(theWindow), &context);

    // The sub-image is relative to our whole screen image.
-   CGImageRef subimg = CGImageCreateWithImageInRect(fullScreenImage, rbounds);
-
+   CGImageRef subimg = CGRectEqualToRect(rbounds, bounds) ?
+    CGImageCreateCopy(fullScreenImage) :
+    CGImageCreateWithImageInRect(fullScreenImage, rbounds);
+    
    // Drawing the sub-image is relative to the window.
-   rbounds.origin.y = winRect.bottom - winRect.top - r.min.y - 
rbounds.size.height;
+   rbounds.origin.y = winRect.bottom - winRect.top - rbounds.origin.y - 
rbounds.size.height;
    CGContextDrawImage(context, rbounds, subimg);
    CGImageRelease(subimg);
    QDEndCGContext(GetWindowPort(theWindow), &context);

Original comment by joseph.s...@gmail.com on 8 Oct 2014 at 7:42

GoogleCodeExporter commented 9 years ago
This diff resolved the ghosting issue for me on 10.9.5

Original comment by ventur...@gmail.com on 15 Nov 2014 at 6:22