Xeverous

Results 189 comments of Xeverous

Nana does not support installing. See #438

>> Nana does not support installing. See #438 > > WRONG !!! OK, nana supports installing but it does not support importing. You can build and install nana, but `find_package`...

The issue is probably lying here: https://github.com/cnjinhao/nana/blob/ffa170b5f560dbf899030bdeb0e539aa95b03649/build/cmake/enable_png.cmake#L6-L20 - `# todo: decide - PUBLIC vs PRIVATE` - the choice is easy: if you use PNG library only in private code, make...

Just checked and pulled newest code, it works on `742cde9779d74e4bdd9bff293b0004129d50f700` but was crashing on `ffa170b5f560dbf899030bdeb0e539aa95b03649`. Now, after full rebuild of nana I can't reproduce it.

Apparently it was an invalid build bug or mixed code from multiple builds. I checked dlls that are loaded by the binary and everything is ok (previously I had a...

Ok, I have found that the crashing is related to build flags, notably link-time optimization. When I add `set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)` (which means `-flto -fno-fat-lto-objects` for GCC), the program crashes upon...

I suspect that there is some bug in font or UTF convertion code that is only visible when applied some optimizations. Will debug and report if I find anything.

https://github.com/cnjinhao/nana/blob/ffa170b5f560dbf899030bdeb0e539aa95b03649/source/detail/platform_abstraction.cpp#L322-L346 https://github.com/cnjinhao/nana/blob/ffa170b5f560dbf899030bdeb0e539aa95b03649/source/detail/platform_abstraction.cpp#L341 ~~`lfFaceName` is of type `CHAR[32]` and this is assigned to `wfont_family`. Is this intended? You assign a char-string-pointer to a wchar_t-string object.~~ Turns out that `LOGFONT` is either...

`metrics.lfMessageFont.lfFaceName` (type `WHAR[32]`) when interepreted as a sequence of 64 bytes (`sizeof(wchar_t) == 2`), contains: ``` 83 0 101 0 103 0 111 0 101 0 32 0 85 0...

`to_utf8` is: https://github.com/cnjinhao/nana/blob/ffa170b5f560dbf899030bdeb0e539aa95b03649/source/deploy.cpp#L192-L195 which calls: https://github.com/cnjinhao/nana/blob/ffa170b5f560dbf899030bdeb0e539aa95b03649/source/charset.cpp#L1395-L1398 which calls: https://github.com/cnjinhao/nana/blob/ffa170b5f560dbf899030bdeb0e539aa95b03649/source/charset.cpp#L1273-L1279 The text is cast to `const char*` but the sequence as bytes (`83 0 101 0 103 0 111 0 101...