Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OSX] QuickDraw subdriver has keyboard and mouse problems #6087

Closed
DorpsGek opened this issue Aug 16, 2014 · 1 comment
Closed

[OSX] QuickDraw subdriver has keyboard and mouse problems #6087

DorpsGek opened this issue Aug 16, 2014 · 1 comment
Labels
component: interface This is an interface issue flyspray This issue is imported from FlySpray (https://bugs.openttd.org/) OS: MacOS This issue is related to a Mac OS problem

Comments

@DorpsGek
Copy link
Member

kernigh2 opened the ticket and wrote:

I compiled my own binaries of OpenTTD 1.4.2-RC2 and OpenTTD trunk r26733 for PowerPC Mac OS X 10.4.11. (I can't run the official binary because of #5694.) It has some keyboard and mouse problems. Compiling with --disable-cocoa-quickdraw fixes the problems.

The keyboard just doesn't work. I open the console, or rename a station, and press some keys. For each key, the computer beeps and no character appears. As a work-around, I can double-click the text field and use OpenTTD's onscreen keyboard. This doesn't work in the console, so I can't enter any console commands.

The mouse does work, but OpenTTD does not correctly hide the mouse cursor. When my mouse is in the window, I have two mouse cursors, with the Mac's black arrow on top of OpenTTD's brown arrow. When my mouse is outside the window, the black arrow goes out but the brown arrow stays near the edge of the window.

This bug only happens with the QuickDraw subdriver. When I pass --disable-cocoa-quickdraw to configure, I force OpenTTD to use the Quartz subdriver and prevent this bug.

Here is my procedure to compile and run OpenTTD 1.4.2-RC2:
./configure --with-lzo2=$HOME/park/static/lib --disable-cocoa-quickdraw
make -j2
make bundle
open bundle/OpenTTD.app

To reproduce this bug, you may need a OS X 10.4 system. The logic in src/video/cocoa/cocoa_v.mm, function QZ_CreateWindowSubdriver(), prefers the Quartz subdriver for 10.5 and later, and the QuickDraw subdriver for 10.4 and earlier. The official binary doesn't run on PowerPC (#5694 again), so you either need to find an Intel 10.4 system, or compile your own PowerPC binary. Most Intel Macs have been upgraded, but some PowerPC Macs stayed with 10.4 to use Classic.

If you have 10.5 or later, you might reproduce this bug if you compile a binary with --disable-cocoa-quartz. I have not tried this.

To reproduce this bug:

  1. Start OpenTTD.
  2. Move the mouse around the title screen.
  3. Click "Multiplayer" and try to type in the text fields.

It might be time to retire the QuickDraw subdriver and always use the Quartz subdriver. It is no good to have a QuickDraw subdriver only for 10.4 and earlier that accumulates bugs because almost everyone runs 10.5 or later.

Reported version: trunk
Operating system: Mac OS X


This issue was imported from FlySpray: https://bugs.openttd.org/task/6087
@DorpsGek DorpsGek added component: interface This is an interface issue flyspray This issue is imported from FlySpray (https://bugs.openttd.org/) bug labels Apr 7, 2018
@TrueBrain TrueBrain added the OS: MacOS This issue is related to a Mac OS problem label Apr 10, 2018
@andythenorth
Copy link
Contributor

De-facto Mac support is n-2, where n is currently 10.12.6, so closing, thanks.

Sorry PPC users, it was a nice architecture for it's time. I still have a PPC iMac somewhere :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: interface This is an interface issue flyspray This issue is imported from FlySpray (https://bugs.openttd.org/) OS: MacOS This issue is related to a Mac OS problem
Projects
None yet
Development

No branches or pull requests

3 participants