Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » U++ Developers corner » Please check the list of 2019.1 changes
Please check the list of 2019.1 changes [message #51135] Fri, 08 February 2019 09:29 Go to next message
mirek is currently offline  mirek
Messages: 12050
Registered: November 2005
Ultimate Member
I am getting reading for 2019.1 release cycle. Here is the list of features, please check whether I have missed something (e.g. in Bazaar etc...)

General improvements:

MacOS X support
Improved support for UHD displays
Improved support for dark themes

Core:

Core/SSH: SSH protocol support
XMLRPC improvements (protocol version, support for i8 type)
WebSockets improvements
ToAscii, ToUpperAscii, ToLowerAscii functions optimized
New CoWork variant CoWorkNX solves an compilation problem when using CoWork as member variable
DarkTheme function inverts Color luminosity for dark themes support (dark colors become light, light colors dark, but color remains)
MakeOne is now changed to function
LocalProcess now allows setting current directory for started process

Ide:

Various improvements of Image designer
'Disable UHD mode' option for testing applications
GDB interface improvements: Now possible to stop running application and to set breakpoints while application runs
Compare with clipboard function
Initial setup improved
New dialog for setting up project assemblies
PDB debugger improvements: now displays INF and NAN for floats, fixed termination issues
Selfupgrade feature (ide compiles itself and replaces the binary)

Other:

Improved jpeg EXIF support

RichText now suggests corrections for misspelled words

GLCtrl refactored, changed to use single context per application (allows sharing resources, e.g. textures, between widgets), support for GTK fixed,
MSAA supported in Win32

VirtualGui is a new package to implement working 'fullscreen' GUI by implementing a SystemDraw
and a dozen of virtual methods, intended for use with e.g. games. VirtualGUI/SDL2GL is an
implementation with SDL2.

Painter is heavily optimized for multithreaded rendering.

PostgreSQL now supports RETURNING clause in SqlExp.

New plugin/tess2 package (tesselation) and plugin/glm (OpenGL maths support).

Release:

U++ now ships with speller files for multiple languages

Win32 Release:

Now ships with SDL2, MySQL and PostgreSQL client libraries

[Updated on: Fri, 08 February 2019 10:00]

Report message to a moderator

Re: Please check the list of 2019.1 changes [message #51136 is a reply to message #51135] Fri, 08 February 2019 10:57 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 628
Registered: September 2012
Location: Poland, Kraków
Contributor
Hello,

Looks like good release! Good job Mirek! I would add the information about the possibility to copy string to clipboard from debugger tree. Currently it is supported only for GDB, but maybe I will find the time during the weekend to port it to PDB.

Do you plan to ship macOS installation? I think the initial release can be marked as beta.

Sincerely,
Klugier


Ultimate++ - one framework to rule them all.
Re: Please check the list of 2019.1 changes [message #51138 is a reply to message #51136] Fri, 08 February 2019 12:04 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12050
Registered: November 2005
Ultimate Member
Klugier wrote on Fri, 08 February 2019 10:57

Do you plan to ship macOS installation? I think the initial release can be marked as beta.


Yes & Yes.

Although I am not yet 100% how will the final package look like.
Re: Please check the list of 2019.1 changes [message #51147 is a reply to message #51135] Fri, 08 February 2019 22:20 Go to previous messageGo to next message
Zbych is currently offline  Zbych
Messages: 307
Registered: July 2009
Senior Member
mirek wrote on Fri, 08 February 2019 09:29
please check whether I have missed something (e.g. in Bazaar etc...)


Any chance for chameleon fix?
https://www.ultimatepp.org/forums/index.php?t=msg&th=105 01&start=0&

Re: Please check the list of 2019.1 changes [message #51169 is a reply to message #51135] Wed, 13 February 2019 12:44 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 890
Registered: December 2006
Experienced Contributor
mirek wrote on Fri, 08 February 2019 03:29

MacOS X support

GridCtrl still doesn't work on MacOS, so, it would, probably, be better to say "Limited MacOS X support", because not every app can be ported to Mac at this time.


Regards,
Novo

[Updated on: Fri, 15 February 2019 12:54]

Report message to a moderator

Re: Please check the list of 2019.1 changes [message #51170 is a reply to message #51169] Wed, 13 February 2019 22:10 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 890
Registered: December 2006
Experienced Contributor
Docking doesn't work in MacOS X either.

Regards,
Novo
Re: Please check the list of 2019.1 changes [message #51171 is a reply to message #51170] Thu, 14 February 2019 14:34 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 628
Registered: September 2012
Location: Poland, Kraków
Contributor
Hello,

I also find that in certain condition (I can not find the way how to reproduce it) the UI is blocked on macOS. I just try to launch GridCtrl example and switch between tabs and the UI is blocked. The only action I can execute is system close button. The application closed normally.

Sincerely,
Klugier


Ultimate++ - one framework to rule them all.
Re: Please check the list of 2019.1 changes [message #51172 is a reply to message #51135] Thu, 14 February 2019 21:35 Go to previous messageGo to next message
Zbych is currently offline  Zbych
Messages: 307
Registered: July 2009
Senior Member
Just one more thing - DLOG in X11Proc.cpp, line 7, causes compilation error in NOGTK mode.

https://github.com/ultimatepp/mirror/blob/7fe7344ed5b6f14314 b7dc6254cc7607756f692c/uppsrc/CtrlCore/X11Proc.cpp#L7

[Updated on: Thu, 14 February 2019 21:36]

Report message to a moderator

Re: Please check the list of 2019.1 changes [message #51174 is a reply to message #51172] Fri, 15 February 2019 13:04 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 890
Registered: December 2006
Experienced Contributor
Yet another tiny but extremely annoying thing: Control + trackpad click isn't handled. That makes using of contextual menus practically impossible. One basically needs to use an external mouse with MacBook.

Regards,
Novo
Re: Please check the list of 2019.1 changes [message #51181 is a reply to message #51174] Sun, 17 February 2019 17:43 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12050
Registered: November 2005
Ultimate Member
Novo wrote on Fri, 15 February 2019 13:04
Yet another tiny but extremely annoying thing: Control + trackpad click isn't handled. That makes using of contextual menus practically impossible. One basically needs to use an external mouse with MacBook.


Is that supposed to be the same thing as right-click? I thought that there is some "two fingers" gesture for that...

Other than that, I am announcing the upcoming release exactly to find out what has to be finalized.... Smile

Mirek
Re: Please check the list of 2019.1 changes [message #51183 is a reply to message #51181] Sun, 17 February 2019 18:12 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 890
Registered: December 2006
Experienced Contributor
mirek wrote on Sun, 17 February 2019 11:43

Is that supposed to be the same thing as right-click? I thought that there is some "two fingers" gesture for that...
...

Yes, that is the same thing as the right-click.
I didn't know about the two-finger touch ... Embarassed Thanks for the hint. I was always using Control + Trackpad click ...


Regards,
Novo
Re: Please check the list of 2019.1 changes [message #51184 is a reply to message #51181] Sun, 17 February 2019 18:35 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 584
Registered: August 2007
Location: Turkey
Contributor
Hello,

SSH package may have a problem on MacOS. (I can't test it as I don't have an Apple machine + OS.)

We are using POSIX's sigtimedwait() function in SshShell to notify console resize events (SshShell.cpp, ln 40-53).
However, it seems that MacOS didn't implement it, or it is stubbed.

I'd be grateful if anyone with such setup could compile and test it on MacOS. (by running reference/SshBasics with SSH_SHELL defined, on a console window.)

Best regards,
Oblivion


Re: Please check the list of 2019.1 changes [message #51197 is a reply to message #51135] Tue, 19 February 2019 13:32 Go to previous messageGo to next message
Tom1
Messages: 644
Registered: March 2007
Contributor
Hi,

Maybe take a look at this ArrayCtrl -thing before release:

https://www.ultimatepp.org/forums/index.php?t=msg&th=105 78&goto=51192&#msg_51192

Best regards,

Tom
Re: Please check the list of 2019.1 changes [message #51198 is a reply to message #51184] Tue, 19 February 2019 14:14 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 628
Registered: September 2012
Location: Poland, Kraków
Contributor
Hello Oblivion,

You are right the SSH package doesn't compile on macOS due to problem you have mentioned.

Here is the output of compilation on mac (Please notice that I do not have openssl installed):
----- Core ( CLANG DEBUG SHARED DEBUG_FULL BLITZ POSIX BSD OSX ) (1 / 3)
BLITZ: Cpu.cpp Mt.cpp StringFind.cpp String.cpp WString.cpp StrUtil.cpp SplitMerge.cpp Utf.cpp UnicodeInfo.cpp Bom.cpp Path.cpp NetNode.cpp App.cpp Huge.cpp Stream.cpp BlockStream.cpp FileMapping.cpp FilterStream
    .cpp Log.cpp Debug.cpp Ini.cpp Util.cpp mathutil.cpp Random.cpp Speller.cpp LocalProcess.cpp Vcont.cpp Hash.cpp TimeDate.cpp Value.cpp ValueUtil.cpp Format.cpp Convert.cpp Color.cpp Gtypes.cpp Lang.cpp LangIn
    fo.cpp parser.cpp XML.cpp Xmlize.cpp JSON.cpp Uuid.cpp Ptr.cpp Topic.cpp CoWork.cpp MD5.cpp SHA1.cpp SHA256.cpp xxHsh.cpp InetUtil.cpp MIME.cpp Socket.cpp Http.cpp WebSocket.cpp Dli.cpp Win32Util.cpp
heaputil.cpp
sheap.cpp
lheap.cpp
heap.cpp
heapdbg.cpp
CharSet.cpp
t.cpp
z.cpp
lz4.c
xxhash.c
----- Core/SSH ( CLANG DEBUG SHARED DEBUG_FULL BLITZ POSIX BSD OSX ) (2 / 3)
BLITZ: Core.cpp Malloc.cpp SFtp.cpp SFtpStream.cpp Channels.cpp Scp.cpp Exec.cpp Tunnel.cpp Shell.cpp Hosts.cpp
Session.cpp
libssh2upp.c
----- SshBasics ( MAIN CLANG DEBUG SHARED DEBUG_FULL BLITZ POSIX BSD OSX ) (3 / 3)
BLITZ: main.cpp SFtp.cpp SFtpStream.cpp SFtpFileSystemInfo.cpp Exec.cpp Scp.cpp Shell.cpp X11Shell.cpp Tunnel.cpp SFtpMT.cpp ExecMT.cpp PickSemantics.cpp VerboseLogging.cpp
In file included from /Users/rebaczz/upp/uppsrc/Core/SSH/libssh2upp.c:4:
In file included from /Users/rebaczz/upp/uppsrc/Core/SSH/libssh2/agent.c:40:
In file included from /Users/rebaczz/upp/uppsrc/Core/SSH/libssh2/libssh2_priv.h:140:
In file included from /Users/rebaczz/upp/uppsrc/Core/SSH/libssh2/crypto.h:42:
/Users/rebaczz/upp/uppsrc/Core/SSH/libssh2/openssl.h:40:10: fatal error: 'openssl/opensslconf.h' file not found
#include <openssl/opensslconf.h>
         ^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from /Users/rebaczz/out/reference/Core/SSH/CLANG.Debug.Debug_Full.Shared/$blitz.cpp:3:
In file included from /Users/rebaczz/upp/uppsrc/Core/SSH/Core.cpp:1:
In file included from /Users/rebaczz/upp/uppsrc/Core/SSH/SSH.h:46:
/Users/rebaczz/upp/uppsrc/Core/SSH/SFtp.h:238:5: warning: conversion function converting 'Upp::SFtpFileSystemInfo' to its base class 'Upp::FileSystemInfo' will never be used
    operator FileSystemInfo&()                  { return static_cast<FileSystemInfo&>(*this); }
    ^
In file included from /Users/rebaczz/out/reference/Core/SSH/CLANG.Debug.Debug_Full.Shared/$blitz.cpp:71:
/Users/rebaczz/upp/uppsrc/Core/SSH/Shell.cpp:48:14: error: use of undeclared identifier 'sigtimedwait'
                        auto rc = sigtimedwait(&set, nullptr, &timeout);
                                  ^
1 warning and 1 error generated.
In file included from /Users/rebaczz/out/reference/SshBasics/CLANG.Debug.Debug_Full.Main.Shared/$blitz.cpp:3:
In file included from /Users/rebaczz/upp/reference/SshBasics/main.cpp:1:
In file included from /Users/rebaczz/upp/reference/SshBasics/SshBasics.h:5:
In file included from /Users/rebaczz/upp/uppsrc/Core/SSH/SSH.h:46:
/Users/rebaczz/upp/uppsrc/Core/SSH/SFtp.h:238:5: warning: conversion function converting 'Upp::SFtpFileSystemInfo' to its base class 'Upp::FileSystemInfo' will never be used
    operator FileSystemInfo&()                  { return static_cast<FileSystemInfo&>(*this); }
    ^
1 warning generated.
In file included from /Users/rebaczz/upp/uppsrc/Core/SSH/Session.cpp:1:
In file included from /Users/rebaczz/upp/uppsrc/Core/SSH/SSH.h:46:
/Users/rebaczz/upp/uppsrc/Core/SSH/SFtp.h:238:5: warning: conversion function converting 'Upp::SFtpFileSystemInfo' to its base class 'Upp::FileSystemInfo' will never be used
    operator FileSystemInfo&()                  { return static_cast<FileSystemInfo&>(*this); }
    ^
1 warning generated.
Core/SSH: 12 file(s) built in (0:00.05), 4 msecs / file, duration = 2274 msecs, parallelization 100%
SshBasics: 13 file(s) built in (0:00.00), 0 msecs / file, duration = 1367 msecs, parallelization 100%
Core: 66 file(s) built in (0:02.51), 38 msecs / file, duration = 5018 msecs, parallelization 98%

There were errors. (0:05.02)


Please also look at warning, maybe they are worth fixing, too.

Sincerely,
Klugier


Ultimate++ - one framework to rule them all.
Re: Please check the list of 2019.1 changes [message #51204 is a reply to message #51198] Tue, 19 February 2019 17:38 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 584
Registered: August 2007
Location: Turkey
Contributor
Hello Klugier,

Thank you for your feedback.

I found a very simple workaround for sigtimedwait() issue on MacOS:
It relies on already existing functionality, so I tested it on Linux, and it worked:

			#if defined(PLATFORM_MACOS)
			// We are using sigtimedwait on POSIX-compliant systems.
			// Unfortunately MacOS didn't implement it. This is a simple workaround for MacOS.
			// It relies on ioctl, which is implemented on MacOS.
			Size sz = GetConsolePageSize();
			resized = !IsNull(sz) && sz != psize;
			if(resized)
				LLOG("Window size changed.");
			#else



And as to the the CLANG warning, which I don't get with GCC (probably because it's more relaxed):

I found that in C++11 standard (section 12.3.2):

If a conversion function is a member function, the type of the conversion function (8.3.5) is
"function taking no parameter returning conversion-type-id". A conversion function is never used to
convert a (possibly cv-qualified) object to the (possibly cv-qualified) same object type (or a reference to it), 
to a (possibly cv-qualified) base class of that type (or a reference to it), or to (possibly cv-qualified) void


So I removed the implicit converter.

I've commited the patches. And updated the ezamples accordingly.

I'd be grateful if you can test it when you have some time.

Best regards,
Oblivion


Re: Please check the list of 2019.1 changes [message #51215 is a reply to message #51204] Thu, 21 February 2019 21:44 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 628
Registered: September 2012
Location: Poland, Kraków
Contributor
Hello Oblivion,

I can confirm that there is lack of compilation errors and warning on macOS. However, I do not test the implementation, because I didn't install OpenSSL yet.

Sincerely,
Klugier


Ultimate++ - one framework to rule them all.
Re: Please check the list of 2019.1 changes [message #51218 is a reply to message #51215] Fri, 22 February 2019 09:00 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12050
Registered: November 2005
Ultimate Member
Klugier wrote on Thu, 21 February 2019 21:44
Hello Oblivion,

I can confirm that there is lack of compilation errors and warning on macOS. However, I do not test the implementation, because I didn't install OpenSSL yet.

Sincerely,
Klugier


BTW, general request. We will need some docs about how to setup U++ on MacOS. Unfortunately, I have done these steps months ago and probably forgot most of them. So if you make this work, it would be nice if you posted steps required here so that we can gradually compile it together Smile

Mirek
Re: Please check the list of 2019.1 changes [message #51222 is a reply to message #51169] Fri, 22 February 2019 19:06 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12050
Registered: November 2005
Ultimate Member
Novo wrote on Wed, 13 February 2019 12:44
mirek wrote on Fri, 08 February 2019 03:29

MacOS X support

GridCtrl still doesn't work on MacOS, so, it would, probably, be better to say "Limited MacOS X support", because not every app can be ported to Mac at this time.


Hopefully fixed.
Re: Please check the list of 2019.1 changes [message #51223 is a reply to message #51174] Fri, 22 February 2019 19:08 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12050
Registered: November 2005
Ultimate Member
Novo wrote on Fri, 15 February 2019 13:04
Yet another tiny but extremely annoying thing: Control + trackpad click isn't handled. That makes using of contextual menus practically impossible. One basically needs to use an external mouse with MacBook.


Any suggestion how to fix this?

The problem is that Ctrl+Left Click (or Alt+Click as these are logically reversed) has valid meaning, so I am not sure that simply calling right click there is a good idea...

Mirek
Re: Please check the list of 2019.1 changes [message #51224 is a reply to message #51222] Fri, 22 February 2019 19:39 Go to previous messageGo to previous message
Novo is currently offline  Novo
Messages: 890
Registered: December 2006
Experienced Contributor
mirek wrote on Fri, 22 February 2019 13:06

Hopefully fixed.

Checked latest git (CtrlCore: StateH(OPEN) fixes GridCtrl). The problem with GridCtrl is still there. Full rebuild.


Regards,
Novo
Previous Topic: umk on Linux
Next Topic: DarkTheme support
Goto Forum:
  


Current Time: Wed Oct 16 17:32:53 CEST 2019

Total time taken to generate the page: 0.02256 seconds