# HG changeset patch # User Olaf Wintermann # Date 1453570650 -3600 # Node ID 86d729874ff46c849dcff67cd53e23b14901b7ad # Parent 3efe0210e27e39b8dede011cff402400255f13a0 added FreeBSD support and fixed gtk2 build diff -r 3efe0210e27e -r 86d729874ff4 configure --- a/configure Thu Jan 21 20:40:14 2016 +0100 +++ b/configure Sat Jan 23 18:37:30 2016 +0100 @@ -29,7 +29,7 @@ OS=`uname -s` OS_VERSION=`uname -r` -PREFIX=/opt/mk12 +PREFIX=/opt/toolkit # # parse arguments @@ -87,6 +87,11 @@ echo "gcc" fi +if [ $OS = FreeBSD ]; then + BUILD_CONFIG=clang + echo "clang" +fi + if [ $OS = Darwin ]; then BUILD_CONFIG=osx echo "gcc" @@ -98,6 +103,11 @@ echo "mingw" fi +if [ -z "BUILD_CONFIG" ]; then + BUILD_CONFIG=gcc + echo "gcc" +fi + #if [ $OS != Darwin ]; then # check_pkgconfig_lib "libxml2" "libxml-2.0" @@ -125,11 +135,18 @@ pkg-config gtk+-2.0 RESULT=$? if [ $RESULT -eq 0 ]; then - TOOLKIT=gtk2legacy + TOOLKIT=gtk2 echo "gtk2" else - echo "not found" - exit 1 + which qmake-qt4 > /dev/null + RESULT=$? + if [ $RESULT -eq 0 ]; then + TOOLKIT=qt4 + echo "qt4" + else + echo "not found" + exit 1 + fi fi fi fi diff -r 3efe0210e27e -r 86d729874ff4 make/clang.mk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/clang.mk Sat Jan 23 18:37:30 2016 +0100 @@ -0,0 +1,46 @@ +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. +# +# Copyright 2015 Olaf Wintermann. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +CC = clang +CXX = clang++ +LD = clang +AR = ar +RM = rm + +CFLAGS += -g -c +CXXFLAGS += -g +LDFLAGS += +ARFLAGS = -r +RMFLAGS = -f + +OBJ_EXT = o +LIB_EXT = a +APP_EXT = + +PACKAGE_SCRIPT = package_unix.sh + diff -r 3efe0210e27e -r 86d729874ff4 ui/gtk/draw_cairo.c --- a/ui/gtk/draw_cairo.c Thu Jan 21 20:40:14 2016 +0100 +++ b/ui/gtk/draw_cairo.c Sat Jan 23 18:37:30 2016 +0100 @@ -59,8 +59,13 @@ g.widget = w; g.cr = gdk_cairo_create(w->window); - UiExposeEvent *event = data; - event->callback(&g.g, event->document, event->data); + UiDrawEvent *event = data; + UiEvent ev; + ev.obj = event->obj; + ev.window = event->obj->window; + ev.document = event->obj->ctx->document; + + event->callback(&ev, &g.g, event->userdata); return FALSE; } @@ -77,7 +82,7 @@ #else g_signal_connect(G_OBJECT(widget), "expose_event", - G_CALLBACK(ui_drawingarea_expose), + G_CALLBACK(ui_canvas_expose), event); #endif }