diff --git a/src/ecl_fun.cpp b/src/ecl_fun.cpp index a4c6b7a..0adeea4 100644 --- a/src/ecl_fun.cpp +++ b/src/ecl_fun.cpp @@ -973,9 +973,7 @@ 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); } - else { - l_ret = qt_object_from_name("QColor", (void*)&col); }} + l_ret = qt_object_from_name("QColor", new QColor(col), 0, true); }} return l_ret; } static cl_object from_qpolygon(const QPolygon& p) { @@ -1886,7 +1884,9 @@ cl_object qvariant_value(cl_object l_obj) { QtObject o = toQtObject(l_obj); if("QVariant" == o.className() && o.pointer) { QVariant* p = (QVariant*)o.pointer; + EQL::return_value_p = true; cl_object l_ret = from_qvariant_value(*p); + EQL::return_value_p = false; return l_ret; } error_msg("QVARIANT-VALUE", LIST1(l_obj)); return Cnil; } diff --git a/src/ecl_fun.h b/src/ecl_fun.h index 70f30b6..0f3f280 100644 --- a/src/ecl_fun.h +++ b/src/ecl_fun.h @@ -100,8 +100,6 @@ 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) \ @@ -109,8 +107,6 @@ 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 b0db7d6..a120d83 100644 --- a/src/eql.cpp +++ b/src/eql.cpp @@ -7,7 +7,7 @@ #include #include -const char EQL::version[] = "17.1.5"; // Jan 2017 +const char EQL::version[] = "17.1.6"; // Jan 2017 extern "C" void ini_EQL(cl_object);