diff --git a/src/ecl_fun.cpp b/src/ecl_fun.cpp index 0899ad2..13019ce 100644 --- a/src/ecl_fun.cpp +++ b/src/ecl_fun.cpp @@ -976,7 +976,9 @@ static cl_object from_qcolor(const QColor& col) { cl_object l_ret = Cnil; if(col.isValid()) { // return NIL for invalid QColors if(EQL::return_value_p) { - l_ret = qt_object_from_name("QColor", new QColor(col), 0, true); }} + l_ret = qt_object_from_name("QColor", new QColor(col), 0, true); } + else { + l_ret = qt_object_from_name("QColor", (void*)&col); }} return l_ret; } static cl_object from_qpolygon(const QPolygon& p) { diff --git a/src/ecl_fun.h b/src/ecl_fun.h index 364242f..e81d66e 100644 --- a/src/ecl_fun.h +++ b/src/ecl_fun.h @@ -100,6 +100,8 @@ static cl_object from_##name(const cap_name& x) { \ cl_object l_ret = Cnil; \ if(EQL::return_value_p) { \ l_ret = qt_object_from_name(#cap_name, new cap_name(x), 0, true); } \ + else { \ + l_ret = qt_object_from_name(#cap_name, (void*)&x); } \ return l_ret; } #define FROM_QT_TYPE_ONLY(cap_name, name) \ @@ -107,6 +109,8 @@ static cl_object from_##name(const cap_name& x) { \ cl_object l_ret = Cnil; \ if(EQL::return_value_p) { \ l_ret = qt_object_from_name(#cap_name, new cap_name(x), 0, true); } \ + else { \ + l_ret = qt_object_from_name(#cap_name, (void*)&x); } \ return l_ret; } #define TO_QT_TYPE_PTR2(cap_name, name) \ diff --git a/src/eql.cpp b/src/eql.cpp index 9ca287f..6f87113 100644 --- a/src/eql.cpp +++ b/src/eql.cpp @@ -7,7 +7,7 @@ #include #include -const char EQL::version[] = "17.1.7"; // Jan 2017 +const char EQL::version[] = "17.1.8"; // Jan 2017 extern "C" void ini_EQL(cl_object);