This is needed for plugging into an existing Looper because
we won't call ::run() on the main thread (this is called
on the Java side of the application automatically by Android).
But we still need to wake up and process the events. For that
we create a pipe and write to the pipe to wake up the main
loop and we process events on the callback of the fd handler.
Fixes#4682
This used to be async assuming the libuv behavior of holding the
main loop until all the messages are processed and also for avoiding
a deadlock at exit that no longer exits.
Now that we support multiple main loops implementation on different
platforms, we do the cleanup synchronously to make sure all the
platforms have the same behavior at exit.
Fixes#4631
Added a hidden preference to MGLMapView that enables “unnatural zooming”, in which the scroll wheel zooms in and out, as in a Web browser, instead of scrolling the map, as is the platform convention on iOS and OS X.
Added a checkbox to osxapp’ preferences window that toggles this hidden preference via a binding. You can either use this checkbox or set the MGLScrollWheelZoomsMapView user default to YES.
Fixes#4670.
* Main gyp files are now standardized as platform/<platform>/platform.gyp.
* Each platform gyp file defines appropriate loop_lib and headless_lib variables.
* Each platform gyp file includes mbgl.gypi, which defines base targets which may be useful to all platforms.
* CI targets are consistent across platforms: `make $(PLATFORM) && make test-$(PLATFORM)`.
* Renamed the "linux" test app to "glfw". It's now built in OS X CI.
* Android build flakiness is fixed.
* iOS CI builds the bench and iosapp targets.
* Mesa version is now in one place.
* CI scripts use bash "strict mode" and correct error handling.
* All build output goes to the build directory.
* Removed vestigial iOS/OS X/Android Travis scripts.
A large part of the iOS SDK deploy process is creating the various
binary flavors, uploading them to s3, and then testing that those
uploads worked by downloading them from s3 before uploading and
attaching them to the github release.
This script automates that build, upload, download, upload and
attach process and can be run after `mbx auth`.