Home » Community » U++ community news and announcements » Upp 2007.1 released
| Upp 2007.1 released [message #8980] |
Wed, 11 April 2007 08:52  |
|
|
Finally there is, long awaited new version of Ultimate++ : 2007.1
Thank you all for testing, comments and bug reports.
There are lots of improvements since 605:
- "Chameleon" skinning system which allows both native look&feel of U++ applications across platforms and custom skins
to be designed/used. Gtk is used on X11 platforms
- Raster image infrastructure completely reworked
- New useful widgets: GridCtrl, CalendarCtrl and DateTimeCtrl
- Sql expressions are now dialect-adjusted before being executed on particular RDBMS target
- Library moved to Upp namespace
- Experimental PocketPC support was introduced
- Library fixed to support ARM and PowerPC CPUs
- A lot of new documentation and tutorials
- New Icon designer (supports alpha channel and has tools to produce antialiased icons)
- Features missing in X11 now implementd (Pdf export, printing, tray icon, OpenGL)
- Many minor improvements and bug fixes
PS: For those who use rc5 - there is no need to upgrade - this is the same release with version changed.
PS2: Linux packages should appear very soon.
[Updated on: Wed, 11 April 2007 08:52] Report message to a moderator
|
|
|
|
|
|
|
|
| Re: Upp 2007.1 released [message #8985 is a reply to message #8982] |
Wed, 11 April 2007 10:26   |
 |
mirek
Messages: 14290 Registered: November 2005
|
Ultimate Member |
|
|
| victorb wrote on Wed, 11 April 2007 03:48 | I am a bit late... I have just spotted one bug with rc5 with the following code:
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
struct TestResize : public TopWindow
{
TestResize() {
AddFrame(status);
AddFrame(sb);
Sizeable().Zoomable();
sb.Set(0, 2, 10);
}
StatusBar status;
HScrollBar sb;
};
GUI_APP_MAIN
{
TestResize().Run();
}
If you resize the window by dragging the BR corner and then you move the mouse pointer on top of the ScrollBar L\R arrows then it starts moving...
My environment is:
- Windows,
- MSC8
|
Funny bug. Fixed, however, release stays.
Quick fix:
| Quote: |
void SizeGrip::LeftDown(Point p, dword flags)
{
TopWindow *q = dynamic_cast<TopWindow *>(GetTopCtrl());
if(!q || q->IsMaximized() || !q->IsSizeable()) return;
#ifdef PLATFORM_WIN32
HWND hwnd = q->GetHWND();
if(hwnd) {
::SendMessage(hwnd, WM_SYSCOMMAND, 0xf008, MAKELONG(p.x, p.y));
::SendMessage(hwnd, WM_LBUTTONUP, 0, MAKELONG(p.x, p.y));
}
#endif
|
Mirek
|
|
|
|
| Re: Upp 2007.1 released [message #8987 is a reply to message #8985] |
Wed, 11 April 2007 10:51   |
|
|
|
Maybe we should release from time to time fixed releases like 2007.1.R2? But that would require to maintain two trees in uvs, last released and current one.
|
|
|
|
|
|
|
|
| Re: Upp 2007.1 released [message #8992 is a reply to message #8991] |
Wed, 11 April 2007 14:58   |
|
|
| ebojd wrote on Wed, 11 April 2007 08:48 |
Or you can keep a list of patches in an auxiliary directory that are numbered (01_SizeGrip.patch 02_Im_getting_a_clue.patch 03_now_a_life.patch ...). That way you do not have to keep/track separate release branches.
|
Going further, TheIDE could connect the network and check for *.patch'es, download them and merge with uppsrc. That would be great and fastest way to fix anything.
|
|
|
|
|
|
|
|
| Re: Upp 2007.1 released [message #8996 is a reply to message #8995] |
Wed, 11 April 2007 15:27   |
|
|
I was thinking about somehting much easier For example theide stores the information about version of uppsrc somewhere. The patches also have proper signature so you won't be able to install old patch to the new version. After merging your local version is updated to base version + info about all installed patches. Having this you can add to patch_xxx signature that it require patch_yyy to be installed first and so on. That should be quite easy to implement.
OTOH, if the ide was fully integrated with svn/git, merging patches would be trivial I suppose.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Re: Upp 2007.1 released [message #9018 is a reply to message #9013] |
Thu, 12 April 2007 16:03   |
ebojd
Messages: 225 Registered: January 2007 Location: USA
|
Experienced Member |
|
|
| mr_ped wrote on Wed, 11 April 2007 13:51 |
Overall I think too many living versions are not a very good idea, it may be quite confusing in forums and support.
|
I agree. What I had in mind and I was brainstorming above is how to deal with supporting projects that in essence uses legacy code in the same IDE. If we set up a CVS/SVN/etc. tree with branch tags, we can use those as what I have been calling named slots. From there the package organizer would have to know what slot/branch tag is being compiled against (uploading if necessary). The same mechanism would allow the developers to set up special branch tags or aliases for LIVE, CURRENT-STABLE, CURRENT-DEVEL, as well as upp-605-stable.
Just some thoughts following on from which at this point has gotten WAY off Topic 
| luzr wrote on Thu, 12 April 2007 07:36 |
I agree.
In fact, in this respect, "development" proved to be a double-edged sword. It is excellent for having everything tested soon, but it got us lazy about releasing "majors".
|
How about starting a list of things that you or others want to see for the next revision/release? That way as we tick off the tasks we know when it is reasonable to call for a new release/revision. anything else that made it in is gravy, and if there has been WAY tom many minor changes but the revision issues are not resolved, then maybe it can be called a subrevision or the remaining issues can be put off to the next cycle 
Just some thoughts...
EBo --
|
|
|
|
|
|
|
|
|
|
|
|
| Re: Upp 2007.1 released [message #9112 is a reply to message #8980] |
Wed, 18 April 2007 00:27   |
waxblood
Messages: 95 Registered: January 2007
|
Member |
|
|
I have Xubuntu 6.10
bunch of problems, here
a) deb package misses to install gdb, so when upp is asked to debug a program it correctly tells it had an error invoking gdb, but after that it exits immediately.
b) If I try to run reference/Paint it fails this assertion
Executing: "/home/da/upp/out/GCC.Debug.Gui.Shared.So/Paint"
Assertion failed in /home/da/upp/uppsrc/Draw/DrawX11.cpp, line 372
i >= 0 && i < 4
When I try to debug it when upp encounters the problem it doesn't go to the error line, it only displays the assembly trace. Is it normal? The function copy backtrace copies a void string, too (the disass copy works)
FFFFE400 push ecx
FFFFE401 push edx
FFFFE402 push ebp
FFFFE403 mov ebp,esp <-- here is the problem
FFFFE405 sysenter
FFFFE407 nop
FFFFE408 nop
FFFFE409 nop
FFFFE40A nop
FFFFE40B nop
FFFFE40C nop
FFFFE40D nop
FFFFE40E jmp 0xFFFFE403
FFFFE410 pop ebp
FFFFE411 pop edx
FFFFE412 pop ecx
FFFFE413 ret
FFFFE414 nop
FFFFE415 nop
FFFFE416 nop
FFFFE417 nop
FFFFE418 nop
FFFFE419 nop
FFFFE41A nop
FFFFE41B nop
FFFFE41C nop
FFFFE41D nop
FFFFE41E nop
FFFFE41F nop
------------------------------------
c) Keys to set bookmarks don't work. I have an italian keyboard.
When pressing Control + Shift + 0 I get this in AK Setup
Ctrl+Shift+[=]
When pressing Control + Shift + x (x is a number bar 0) I get
Ctrl+Shift+1002x
Please make this work or let user set his own bookmark keys otherwise working in Linux without bookmarks is gonna be hard...
d) well, this is not a real problem, but on Linux I really like the middle-click paste after selection, and I miss it a lot in upp...
Ciao,
David
|
|
|
|
|
|
| Re: Upp 2007.1 released [message #9137 is a reply to message #9136] |
Wed, 18 April 2007 18:54   |
 |
mirek
Messages: 14290 Registered: November 2005
|
Ultimate Member |
|
|
Thank you. Fixes:
void Draw::DrawEllipseOp(const Rect& r, Color color, int pen, Color pencolor)
{
DrawLock __;
SetLineStyle(pen);
if(!IsNull(color)) {
SetForeground(color);
XFillArc(Xdisplay, dw, gc, r.left + actual_offset.x, r.top + actual_offset.y,
r.Width() - 1, r.Height() - 1, 0, 360 * 64);
}
if(!IsNull(pencolor) && !IsNull(pen)) {
SetForeground(pencolor);
XDrawArc(Xdisplay, dw, gc, r.left + actual_offset.x, r.top + actual_offset.y,
r.Width() - 1, r.Height() - 1, 0, 360 * 64);
}
}
.......
void Draw::SetLineStyle(int width)
{
DrawLock __;
if(IsDrawing()) return;
if(width == linewidth) return;
linewidth = width;
if(IsNull(width))
width = 1;
if(width < PEN_SOLID) {
static const char dash[] = { 18, 6 };
static const char dot[] = { 3, 3 };
static const char dashdot[] = { 9, 6, 3, 6 };
static const char dashdotdot[] = { 9, 3, 3, 3, 3, 3 };
static struct {
const char *dash;
int len;
} ds[] = {
dash, __countof(dash),
dot, __countof(dot),
dashdot, __countof(dashdot),
dashdotdot, __countof(dashdotdot)
};
int i = -(width - PEN_DASH);
ASSERT(i >= 0 && i < 4);
XSetDashes(Xdisplay, gc, 0, ds[i].dash, ds[i].len);
}
XSetLineAttributes(Xdisplay, gc, max(width, 1),
width < PEN_SOLID ? LineOnOffDash : LineSolid, CapRound, JoinRound);
}
Hm, maybe we can keep the system simple: I will accumulate critical patches here and perhaps we can make something like 2007.1a based on them when they reach some critical mass... (means, somebody will apply them to 2007.1 sources).
Mirek
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Goto Forum:
Current Time: Sat Apr 25 18:45:47 GMT+2 2026
Total time taken to generate the page: 0.01018 seconds
|