summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2014-02-21 12:05:27 +0100
committerKonstantin Käfer <mail@kkaefer.com>2014-02-21 12:05:27 +0100
commitbd2d865fc474f752b48b88b4b8fd2c8eb307f301 (patch)
treeec0578b45305f72796b5557204ac6a37bfd6f371
parent66a2c994ac66d937aa7e5f5674f772ca9db551a2 (diff)
downloadqtlocation-mapboxgl-bd2d865fc474f752b48b88b4b8fd2c8eb307f301.tar.gz
trigger a bogus mouse move event to interrupt glfwWaitEvents()
see https://github.com/glfw/glfw/issues/218
-rw-r--r--include/llmr/map/map.hpp2
-rw-r--r--macosx/main.mm3
-rw-r--r--src/map/map.cpp15
3 files changed, 5 insertions, 15 deletions
diff --git a/include/llmr/map/map.hpp b/include/llmr/map/map.hpp
index 84cb4d12eb..c82fcae476 100644
--- a/include/llmr/map/map.hpp
+++ b/include/llmr/map/map.hpp
@@ -29,8 +29,6 @@ public:
/* callback */
bool render();
void cancelAnimations();
- void tileLoaded(std::shared_ptr<Tile> tile);
- void tileFailed(std::shared_ptr<Tile> tile);
/* position */
void moveBy(double dx, double dy, double duration = 0);
diff --git a/macosx/main.mm b/macosx/main.mm
index 7c2f0cc1ec..18229f9f4f 100644
--- a/macosx/main.mm
+++ b/macosx/main.mm
@@ -227,6 +227,9 @@ namespace platform {
void restart(void *) {
mapView->dirty = true;
+ CGEventRef event = CGEventCreate(NULL);
+ CGEventSetType(event, kCGEventMouseMoved);
+ [[NSApplication sharedApplication] postEvent: [NSEvent eventWithCGEvent:event] atStart:NO];
}
void request_http(std::string url, std::function<void(Response&)> background_function, std::function<void()> foreground_callback) {
diff --git a/src/map/map.cpp b/src/map/map.cpp
index e837ecffb6..5e31c97c1d 100644
--- a/src/map/map.cpp
+++ b/src/map/map.cpp
@@ -375,12 +375,12 @@ bool Map::updateTiles() {
}
bool Map::render() {
- bool changed = false;
if (transform.needsAnimation()) {
transform.updateAnimations();
- changed = updateTiles();
}
+ bool changed = updateTiles();
+
painter.clear();
for (Tile::Ptr& tile : tiles) {
@@ -395,14 +395,3 @@ bool Map::render() {
return changed || transform.needsAnimation();
}
-
-void Map::tileLoaded(Tile::Ptr tile) {
- // std::cerr << "loaded " << tile->toString() << std::endl;
- update();
-}
-
-void Map::tileFailed(Tile::Ptr tile) {
- // fprintf(stderr, "[%8zx] tile failed to load %d/%d/%d\n",
- // std::hash<std::thread::id>()(std::this_thread::get_id()),
- // tile->z, tile->x, tile->y);
-}