diff --git a/Osmand-kernel/Makefile.vars b/Osmand-kernel/Makefile.vars index 9e7ab52f02..e046945eb3 100755 --- a/Osmand-kernel/Makefile.vars +++ b/Osmand-kernel/Makefile.vars @@ -133,6 +133,9 @@ ifeq ($(ARCH),) ARCH := i386 else ARCH := $(shell uname -i) + ifeq ($(ARCH),unknown) + ARCH := $(shell uname -m) + endif endif endif @@ -142,9 +145,9 @@ ifeq ($(ARCH),i386) CXXFLAGS += -m32 LDFLAGS += -m32 else ifeq ($(ARCH),x86_64) - CFLAGS += -m64 - CXXFLAGS += -m64 - LDFLAGS += -m64 + CFLAGS += -m64 -fPIC + CXXFLAGS += -m64 -fPIC + LDFLAGS += -m64 -fPIC else ifeq ($(ARCH),armv6) else $(error Undefined ARCH $(ARCH)) diff --git a/Osmand-kernel/osmand/src/rendering.cpp b/Osmand-kernel/osmand/src/rendering.cpp index db32e7ca9e..7edac7c572 100644 --- a/Osmand-kernel/osmand/src/rendering.cpp +++ b/Osmand-kernel/osmand/src/rendering.cpp @@ -261,10 +261,16 @@ SkPaint* oneWayPaint(){ } void drawOneWayPaints(RenderingContext* rc, SkCanvas* cv, SkPath* p, int oneway) { if (oneWayPaints.size() == 0) { - SkPathEffect* arrowDashEffect1 = new SkDashPathEffect((float []) {0, 12, 10, 152}, 4, 0); - SkPathEffect* arrowDashEffect2 = new SkDashPathEffect((float[]) {0, 12, 9, 153}, 4, 1); - SkPathEffect* arrowDashEffect3 = new SkDashPathEffect((float[]) {0, 18, 2, 154}, 4, 1); - SkPathEffect* arrowDashEffect4 = new SkDashPathEffect((float[]) {0, 18, 1, 155}, 4, 1); + const float intervals_oneway[4][4] = { + {0, 12, 10, 152}, + {0, 12, 9, 153}, + {0, 18, 2, 154}, + {0, 18, 1, 155} + }; + SkPathEffect* arrowDashEffect1 = new SkDashPathEffect(intervals_oneway[0], 4, 0); + SkPathEffect* arrowDashEffect2 = new SkDashPathEffect(intervals_oneway[1], 4, 1); + SkPathEffect* arrowDashEffect3 = new SkDashPathEffect(intervals_oneway[2], 4, 1); + SkPathEffect* arrowDashEffect4 = new SkDashPathEffect(intervals_oneway[3], 4, 1); SkPaint* p = oneWayPaint(); p->setStrokeWidth(1); @@ -291,10 +297,16 @@ void drawOneWayPaints(RenderingContext* rc, SkCanvas* cv, SkPath* p, int oneway) delete p; } if (reverseWayPaints.size() == 0) { - SkPathEffect* arrowDashEffect1 = new SkDashPathEffect((float []) {0, 12, 10, 152}, 4, 0); - SkPathEffect* arrowDashEffect2 = new SkDashPathEffect((float[]) {0, 13, 9, 152}, 4, 1); - SkPathEffect* arrowDashEffect3 = new SkDashPathEffect((float[]) {0, 14, 2, 158}, 4, 1); - SkPathEffect* arrowDashEffect4 = new SkDashPathEffect((float[]) {0, 15, 1, 158}, 4, 1); + const float intervals_reverse[4][4] = { + {0, 12, 10, 152}, + {0, 13, 9, 152}, + {0, 14, 2, 158}, + {0, 15, 1, 158} + }; + SkPathEffect* arrowDashEffect1 = new SkDashPathEffect(intervals_reverse[0], 4, 0); + SkPathEffect* arrowDashEffect2 = new SkDashPathEffect(intervals_reverse[1], 4, 1); + SkPathEffect* arrowDashEffect3 = new SkDashPathEffect(intervals_reverse[2], 4, 1); + SkPathEffect* arrowDashEffect4 = new SkDashPathEffect(intervals_reverse[3], 4, 1); SkPaint* p = oneWayPaint(); p->setStrokeWidth(1); p->setPathEffect(arrowDashEffect1)->unref();