Main place for discussions about U++ cross platform development framework.
Changes since rc1* + httpcli in examples + Grid01 in tutorial + DocEdit / LineEdit encoding cleanup + QTF in tooltips, text mast be prepended with '\1' - fixed all major rc1 issues - some GridCtrl fixes *I made a mistake and instead of 2007.1rc1 there was 2007.2rc1.
All builds except for DrawX11.cpp due to missing gtk include files. I still have flagNOGTK set but sources appear not to use that anymore so I am guessing it is no longer optional.
Pretty sure I got: -rw-r--r-- 1 lundman lundman 7187863 Feb 23 15:36 upp-src-2007.1rc2.zip but it contains: DirectoryCreate(out); pi.Ad if(!CopyFolder(pi, Common wasn't that the first thing found wrong in rc1? I must be confused somewhere, not had much sleep recently
Install.cpp: DirectoryCreate(out); pi.Ad if(!CopyFolder(pi, Common, AppendFileName(supp, "Common"))) Me too. (and I deleted the source directory before unpacking)
Also I noticed two warnings with enums, proposed fixes (casting the enum to target type): Goto.cpp:138 mf.access = m.pos[l].impl ? (byte)WITHBODY : (byte)PUBLIC; Uppwspc.cpp:413 .Key(organizer ? (dword)K_DELETE : (dword)K_ALT_DELETE)
Well, about enum -> integral type warnings... I am aware of them, but in this case I play passive resistance to GCC... (I believe it should not warn there and at least provide a switch to avoid that warning).
Mirek: should I post bug topics all over the forum (in appropriate categories), or just here to make it simpler for you to fix rc3? (I already reported bad KDE scrollbars in TheIDE part of forums) Further problems: Ctrl+F5 does not work for me, I must execute application trough menu. This may be related to my setup of KDE (more likely to default KDE setup because I don't remember assigning anything on Ctrl+F5), or it may be bug in theIDE. Anyone else here with Gnome or KDE to try it out whether Ctrl+F5 works for him? Examples Bombs: bad line in main.cpp:52 cy = level.cy; field. for(int i = cx * cy - 1; i >= 0; i--) I will try to compile/run all examples till today/tomorrow so I will report others later, if I find something.
luzr wrote on Fri, 23 February 2007 12:28 Well, about enum -> integral type warnings... I am aware of them, but in this case I play passive resistance to GCC... (I believe it should not warn there and at least provide a switch to avoid that warning). Yeah, I didn't get the idea what's wrong with it from the gcc warning, I can understand this. Still I prefer no warnings and the typecasting makes sense there because the target variable is byte or dword, so the enum will be "casted" anyway.
mr_ped wrote on Fri, 23 February 2007 06:29 Mirek: should I post bug topics all over the forum (in appropriate categories), or just here to make it simpler for you to fix rc3? (I already reported bad KDE scrollbars in TheIDE part of forums) Further problems: Ctrl+F5 does not work for me, I must execute application trough menu. This may be related to my setup of KDE (more likely to default KDE setup because I don't remember assigning anything on Ctrl+F5), or it may be bug in theIDE. Anyone else here with Gnome or KDE to try it out whether Ctrl+F5 works for him? Yes, this is KDE trouble. It preassigns all Ctrl+F* (and many others). Perhaps KDE version of U++ should come with other set of predefined keys... Quote: Examples Bombs: bad line in main.cpp:52 cy = level.cy; field. for(int i = cx * cy - 1; i >= 0; i--) I will try to compile/run all examples till today/tomorrow so I will report others later, if I find something. Well, still learning the QA process... In fact, it should be part of release process - there is BuildAll package that builds all examples. Mirek
luzr wrote on Fri, 23 February 2007 12:53 mr_ped wrote on Fri, 23 February 2007 06:29 Mirek: should I post bug topics all over the forum (in appropriate categories), or just here to make it simpler for you to fix rc3? (I already reported bad KDE scrollbars in TheIDE part of forums) Further problems: Ctrl+F5 does not work for me, I must execute application trough menu. This may be related to my setup of KDE (more likely to default KDE setup because I don't remember assigning anything on Ctrl+F5), or it may be bug in theIDE. Anyone else here with Gnome or KDE to try it out whether Ctrl+F5 works for him? Yes, this is KDE trouble. It preassigns all Ctrl+F* (and many others). Perhaps KDE version of U++ should come with other set of predefined keys... Quote: Examples Bombs: bad line in main.cpp:52 cy = level.cy; field. for(int i = cx * cy - 1; i >= 0; i--) I will try to compile/run all examples till today/tomorrow so I will report others later, if I find something. Well, still learning the QA process... In fact, it should be part of release process - there is BuildAll package that builds all examples. Mirek predefined keys: In Kdevelop the F9 is used, but that is Toggle breakpoint in TheIDE, so no easy solution. :/ (And I'm used to Ctrl+F5) ad QA process: well, missing examples is one thing, but missing the Install.cpp problem two times in a row... ---------------------- another bug: I run TheIDE, clik on some menu, the submenu will appear, now when I switch to other application or to other desktop (press Ctrl+F1..4 .. AH, now I know where's the Ctrl+F5 hanging in KDE. But as I use only 4 desktops, I would be fine with it.. I will probably try to reconfigure the KDE to pass it down to TheIDE), the menu stays on the screen and is above any other window. It's possible to choose some submenu in it and execute it. (looks quite weird with switching desktops )
mr_ped wrote on Fri, 23 February 2007 06:29 Examples Bombs: bad line in main.cpp:52 cy = level.cy; field. for(int i = cx * cy - 1; i >= 0; i--) Strange. My build system tested all the examples and report no problems. Maybe my build system did sth wrong or I overlooked something. I'll check that out.
Stop Debug not working as expected (at least by me that is): Set the "EyeCare" example as main package Run in debug mode with F5 ... application is running ... Click on Stop Debugging Shift-F5 TheIDE will freeze now till I manually exit the EyeCare application, than IDE will recover. (i.e. it looks like it can't enforce exit of application) Is it supposed to terminate the application like in MSVC/etc or is this desired behavior?
SDL Example: Does not compile, missing SDL library. It looks like it is intentionally left out from upp sources, and it should be added from the SDL zip? ---------- Example SQLApp not compilable: SQLApp.h:5 #include <plugin/sqlite3/sqlite3.h> but the file on disk is named "Sqlite3.h" (capitalized S) /home/ped/upp/uppsrc/Sql/sch_header.h:35:23: error: plugin/Sqlite3/Sqlite3Schema.h: No such file or directory (big "S" in directory name this time) SQLApp.h:12 #define SCHEMADIALECT <plugin/Sqlite3/Sqlite3Schema.h> main.cpp:3 (second definition, this time correct one) #define SCHEMADIALECT <plugin/sqlite3/Sqlite3Schema.h> Then several warnings about INT64 redefinition. after compilation: Linking... c++: /home/ped/upp/out/plugin/Sqlite3/GCC.Gui.Shared/Sqlite3.a: No such file or directory In package organizer there is "uses plugin/Sqlite3" package with capitalized S. I'm still compiling it again so I'm not sure if changing the package to sqlite3 is the last fix needed, but I hope so.
mr_ped wrote on Fri, 23 February 2007 15:00 SDL Example: Does not compile, missing SDL library. It looks like it is intentionally left out from upp sources, and it should be added from the SDL zip? Installing standard dev SDL package solved this one, works like charm. Ok, enough of testing 2007.1 RC2 for today, I will try some more things during weekend, but I'm already looking forward to RC3 :/ or 2007.2+. Looks like the upp needs much more polishing to "just work". But it certainly looks very promising.
I had a similar, if not the same, problem on Linux. I got a lot further with it... I'll post a solution ASAP. Sorry I dissapeared for awhile -- minor case of what looks like heavy-metal poisoning on a job site... I'll take a quick look at RC2 tonight and will post fixes if they are quick, otherwise I will followup on the Gentoo ebuilds and the Linux makefile updates when I get back home late next week. Thaks for all the great work guys! EBo --
(Debian) Linux Bugs: - UWord can now load files with whitespace in filename - saving fails silently. No files created at all. - Pdf export totally broken. This was true for the previous rc as well whole page gets printed on top of a single line at page-bottom Saving to pdf fails either. I attached the pdf from prior rc (looks the same) Unfortunately I can't say when it broke, because prior Debian packages didn't work on my system. I know it all worked, when the feature was first introduced. LSB related notes: - must include <limits.h> prior gtk header inclusion - the gdk/private header isn't allowed, and upp actually doesn't need it currently, so just remove that line - gtk_widget_set() isn't part of the LSB API either. Don't know why. I tried the GTK_SET_FLAGS macro - not supported either - I could compile TheIDE successfully with the LSB sandbox, but linking failed. For some mysterious reason, libXrender.a complained about missing libX11 symbols (_XFlush...). How can I see the link line? Guess: -lX11 misplaced in link line. General X11 build notes: Upp needs to support pkg-config one way or other, now that we link to gtk. Currently X11 builds aren't fun to set up. I finally resorted to pasting the output of pkg-config --cflags gtk+-2.0 --libs gtk+-2.0 into the compiler field in build methods. But the X11 upp packages really should have that preconfigured. In a clean way. Sorry to bother you like that Guido
More bugs: - HomeBudget builds fine, but craps out with corrupted database error dialog. Removing old ~/.HomeBudget directory doesn't help Another LSB related note: - libpng isn't part of it yet - but zlib is Guido
guido, The updates to the makefile include pkg-config for GTK, but I got stopped with not all the X11 libraries being included. That is where I left it. WIth any luck I will have this issue addressed tonight or sometime at the end of next week. EBo --
guido wrote on Fri, 23 February 2007 15:10 Another LSB related note: - libpng isn't part of it yet - but zlib is Uh oh... That is really strange as gtk uses libpng. In fact, I cannot link with gtk when I have png as statically linked package. Real showstopper.
luzr wrote on Fri, 23 February 2007 22:58 Uh oh... That is really strange as gtk uses libpng. In fact, I cannot link with gtk when I have png as statically linked package. Real showstopper. Actually, gtk didn't link directly to libpng in the past. The dependency was hidden by dlopen()ing the pixbuf loader. It comes from cairo! But cairo can and should be hidden from the linker, as it is an optional backend. So you use --as-needed linker flag when compiling gtk and thus cairo and with it libpng disappear as link time dependencies. That's the case for the LSB sandbox, apparently: guido@Sid:~$ export PKG_CONFIG_PATH=/opt/lsb/lib/pkgconfig/ guido@Sid:~$ pkg-config --libs gtk+-2.0 -Wl,--export-dynamic -L/opt/lsb/lib -lgtk-x11-2.0 -lgdk-x11-2.0-lX11 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 guido@Sid:~$ pkg-config --cflags gtk+-2.0 -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/opt/lsb/include/gtk-2.0 -I/opt/lsb/lib/gtk-2.0/include -I/usr/X11R6/include -I/opt/lsb/include/atk-1.0 -I/opt/lsb/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/opt/lsb/include/glib-2.0 -I/opt/lsb/lib/glib-2.0/include --as-needed doesn't only get rid of fake dependencies, but also in the course cuts off from startup time. Why regular Debian gtk isn't compiled like that, only the pundits know. Guido
Ok just adding #ifdef flagNOGTK around the includes makes it work, so they were just missed. However, after compiling and everything runs, I find the "edit" window in the new IDE is double-wide font for everything. Presumably it detects I start in JPN locale (but using C for everything) and changes to wide font. This is quite undesirable I have to clean my env every time to start the IDE now.
guido wrote on Fri, 23 February 2007 15:10 - HomeBudget builds fine, but craps out with corrupted database error dialog. Removing old ~/.HomeBudget directory doesn't help Try to build it in debug mode. If debug flag is on database is created. In release mode database just must be ready to use - it must be already created. But I think I'll change it - it seems to be troublesome.
Here is the portage ebuild noted. I still need to clean things up a bit, but it builds and installs fine. The pkg-config calls and install are now in the ebuild. Hope this is useful... EBo --
guido wrote on Fri, 23 February 2007 14:47 - Pdf export totally broken. This was true for the previous rc as well whole page gets printed on top of a single line at page-bottom Saving to pdf fails either. I attached the pdf from prior rc (looks the same) Unfortunately I can't say when it broke, because prior Debian packages didn't work on my system. I know it all worked, when the feature was first introduced. Tested with Ubuntu, PDF export seems OK. Can you post the text file (*.qtf) you have used in UWord please? The same is true for spaces in filename - saved as "My test", loaded "My test.qtf", changed content, saved - everything OK. Perhaps you are using another scenario? Mirek
luzr wrote on Wed, 28 February 2007 13:39 Tested with Ubuntu, PDF export seems OK. Can you post the text file (*.qtf) you have used in UWord please? The same is true for spaces in filename - saved as "My test", loaded "My test.qtf", changed content, saved - everything OK. Perhaps you are using another scenario? Mirek Doesn't work here at all. Maybe gcc compiler bug then. gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) Testing with multi-threaded size-optimized release build of upp. Guido
mr_ped wrote on Fri, 23 February 2007 07:14 I run TheIDE, clik on some menu, the submenu will appear, now when I switch to other application or to other desktop (press Ctrl+F1..4 .. AH, now I know where's the Ctrl+F5 hanging in KDE. But as I Interesting, I was trying to solve that bug for year or two. But now I tried something really simple: CtrlCore/X11Proc.cpp 104 case FocusOut: if(w.xic) XUnsetICFocus(w.xic); if(this == focusCtrlWnd) KillFocusWnd(); break; and this seems to do the job. Please, anybody with a bit of time, check this patch! Mirek
guido wrote on Wed, 28 February 2007 08:13 size-optimized Guido BTW, using size-optimized does not have too much advantage anymore. Use "Optimal" - it is both 98% of "speed" and 98% of "size". Size and speed settings are preserved only to compare "optimalness of optimal". Mirek
Well, what to say... I guess it can only be the font issue or compiler thing. Have you tried in "DEBUG"?
luzr wrote on Wed, 28 February 2007 14:20 mr_ped wrote on Fri, 23 February 2007 07:14 I run TheIDE, clik on some menu, the submenu will appear, now when I switch to other application or to other desktop (press Ctrl+F1..4 .. AH, now I know where's the Ctrl+F5 hanging in KDE. But as I Interesting, I was trying to solve that bug for year or two. But now I tried something really simple: CtrlCore/X11Proc.cpp 104 case FocusOut: if(w.xic) XUnsetICFocus(w.xic); if(this == focusCtrlWnd) KillFocusWnd(); break; and this seems to do the job. Please, anybody with a bit of time, check this patch! Mirek Works for me in case of desktop switching, thank you. Any idea what else should I test to make sure this fix doesn't break something else? BTW, I deleted Ctrl+F5 from KDE system settings -> keyboard -> keyboard shortcuts -> shortcut schemes -> shortcut sequences, and now it works in upp, so it was really KDE desktop switching stealing it from upp, nothing more.
Hmmm... I think the problem with the non working "Stop debugging" was just first sign that something is broken. Now I finally tried to debug some code, so I set up breakpoint, run the example with F5, and it runs ignoring breakpoint. Looks like the whole upp + gdb combo is seriously broken on my box. I'm not sure if it's the gdb broken on my system, or just upp not using it correctly, but if someone else has linux, I would appreciate his comments about how the debug works on his box.
mr_ped wrote on Thu, 01 March 2007 13:15 Hmmm... I think the problem with the non working "Stop debugging" was just first sign that something is broken. Now I finally tried to debug some code, so I set up breakpoint, run the example with F5, and it runs ignoring breakpoint. Looks like the whole upp + gdb combo is seriously broken on my box. I'm not sure if it's the gdb broken on my system, or just upp not using it correctly, but if someone else has linux, I would appreciate his comments about how the debug works on his box. Please, it might sound stupid, but make sure you have debug info settings set to "Full" (in the output mode). Mirek
mr_ped wrote on Thu, 01 March 2007 12:04 luzr wrote on Wed, 28 February 2007 14:20 mr_ped wrote on Fri, 23 February 2007 07:14 I run TheIDE, clik on some menu, the submenu will appear, now when I switch to other application or to other desktop (press Ctrl+F1..4 .. AH, now I know where's the Ctrl+F5 hanging in KDE. But as I Interesting, I was trying to solve that bug for year or two. But now I tried something really simple: CtrlCore/X11Proc.cpp 104 case FocusOut: if(w.xic) XUnsetICFocus(w.xic); if(this == focusCtrlWnd) KillFocusWnd(); break; and this seems to do the job. Please, anybody with a bit of time, check this patch! Mirek Works for me in case of desktop switching, thank you. Any idea what else should I test to make sure this fix doesn't break something else? Well, just use it for a while, please, I guess problems would be soon revealed. (I am not using Linux too often at this phase, therefore independent beta-tester is needed). Mirek
luzr wrote on Thu, 01 March 2007 20:55 mr_ped wrote on Thu, 01 March 2007 13:15 Hmmm... I think the problem with the non working "Stop debugging" was just first sign that something is broken. Now I finally tried to debug some code, so I set up breakpoint, run the example with F5, and it runs ignoring breakpoint. Looks like the whole upp + gdb combo is seriously broken on my box. I'm not sure if it's the gdb broken on my system, or just upp not using it correctly, but if someone else has linux, I would appreciate his comments about how the debug works on his box. Please, it might sound stupid, but make sure you have debug info settings set to "Full" (in the output mode). Mirek You never can sound as stupid as I can actually *DO* ... I was compiling in Release-optimal mode all the time. In MSVC I think it warns you at the start of the exe the debug information is missing? Maybe you will eventually make it more robust one day (not very important for me, I will *now* remember forever *blushing*) and TheIDE will warn user about doing something so stupid . About focus patch: So far I have no idea what else may be broken, but I did notice another funny thing: When I hover over file name (AddressBook.cpp for example), I get tooltip with full name after short time. Now when I switch to other window or other desktop, the tooptip stays there and is functional (clicking on it opens the file in editor). I didn't notice any problem with menus since the patch, but I don't use TheIDE very often . I will try to test as much as possible, but in the end if I manage 1 hour per day, I will be happy. But I'm looking forward to start coding on some graphics project under linux soon, so far I'm toying with idea of using SDL, so maybe I will use TheIDE for development (either that or KDevelop or maybe even both for some time until I decide one of them) and than I will use it almost on daily basis.
mr_ped wrote on Thu, 01 March 2007 19:53 You never can sound as stupid as I can actually *DO* ... I was compiling in Release-optimal mode all the time. In MSVC I think it warns you at the start of the exe the debug information is missing? Well, I always found that warning to be very annoying as I am often debugging release mode without debug info... (usually to test my theories about what compiler does to my C++ code...). Mirek
mr_ped, I'm running the Linux distribution Gentoo with cross-platform development to Win-XP. What distro are you using? That will give me a clue on what suggestion to make on how to proceed. EBo --
luzr wrote on Wed, 28 February 2007 14:25 Well, what to say... I guess it can only be the font issue or compiler thing. Have you tried in "DEBUG"? I did a DEBUG build and that fixed pdf exporting. Oddly UWord writes out the exported pdf, but renaming the original QTF still fails silently with no indication where or what might have gone wrong. I also built without gtk and did another DEBUG build with gcc-3.4.6, but that doesn't fix the second bug either. Also despite built "DEBUG full", breakpoints are ignored and "Run to cursor" fails with "No code at chosen location", so I can't check what's up. Saving doesn't work as well with the little LineEdit based Notepad clone, I coded as a learning experience some time ago. So I think I'll give up for now. Don't know what to do. Guido
guido wrote on Fri, 02 March 2007 19:08 luzr wrote on Wed, 28 February 2007 14:25 Well, what to say... I guess it can only be the font issue or compiler thing. Have you tried in "DEBUG"? I did a DEBUG build and that fixed pdf exporting. Oddly UWord writes out the exported pdf Interesting. This would indicate either a compiler bug (IMO less likely) or some variable initializastion problem (read: unintialized variable . (I am speaking about PDF export problem here...) Quote: I also built without gtk and did another DEBUG build with gcc-3.4.6, but that doesn't fix the second bug either. What about .pdf export with 3.4.6 in release mode? Quote: So I think I'll give up for now. Don't know what to do. I guess I will install pure debian into vmware and try to reproduce the problem. Mirek
Ok. With the frustration settled, I investigated further. Files can be loaded, and changes are written back. But renaming doesn't work. With my Notepad clone it seemed like it was a problem related to filename extensions. On Unix plain text files don't carry the .txt extension usually. When I added the .txt extension, renaming suddenly worked. But then, with UWord's qtf files no such luck, whatever I try. Tried with files without umlauts/spaces to eliminate this as a cause. I suspect this breakage is related to your recent filename escaping fix. That's all I can think of. Guido
luzr wrote on Sat, 03 March 2007 08:56 What about .pdf export with 3.4.6 in release mode? Ok. Release (Optimal) also works (pdf) with gcc-3.4.6. Well, -Os caused sometimes trouble in the past. I'll do an "Optimal" build with gcc-4.1.1 and report. Guido
guido wrote on Sat, 03 March 2007 10:46 Well, -Os caused sometimes trouble in the past. I'll do an "Optimal" build with gcc-4.1.1 and report. So I did. Yes, size optimization somehow breaks pdfdraw. "Optimal" works with gcc-4.1.1 too. The saving bug remains. Guido
ebojd wrote on Fri, 02 March 2007 15:08 mr_ped, I'm running the Linux distribution Gentoo with cross-platform development to Win-XP. What distro are you using? That will give me a clue on what suggestion to make on how to proceed. EBo -- Kubuntu 6.10 kernel 2.6.17 gcc 4.1.1 (default system compiler, used by TheIDE probably?) gcc 3.4.6 gdb 6.4.90 Problems with debugging (been toying with it little bit more): When I run some example with F5, I can't stop it, and if I add breakpoint during execution, it gets ignored. When I have some breakpoint added ahead of F5, it works, and while the application is breaked, I can use stop debug and edit breakpoints. But once I rerun it with F5, it again ignores everything.
mr_ped wrote on Sat, 03 March 2007 13:23 Problems with debugging (been toying with it little bit more): When I run some example with F5, I can't stop it, and if I add breakpoint during execution, it gets ignored. When I have some breakpoint added ahead of F5, it works, and while the application is breaked, I can use stop debug and edit breakpoints. But once I rerun it with F5, it again ignores everything. Go to Build->Output mode... Set all the controls to "Full". Mirek, forget my bug report about that. Debugging works fine. The whole build process is a bit scattered and non-obvious. Guess, I can soon start using upp in ernest, after all Guido
mr_ped wrote on Fri, 02 March 2007 01:53 So far I have no idea what else may be broken, but I did notice another funny thing: When I hover over file name (AddressBook.cpp for example), I get tooltip with full name after short time. Now when I switch to other window or other desktop, the tooptip stays there and is functional (clicking on it opens the file in editor). @Mirek: I was debugging TheIDE a bit to both try the debugger again (it's still far away from anything what I would like to use for debugging). Than again there are many external debugger in linux, so I will try one of them, I hope they will be advanced enough and there will be than no point to invest time into better internal debugger. ... and to figure out how to get rid of those tooltips. I figured out this: void Ctrl::EventProc(XWindow& w, XEvent *event) - there's the "case FocusOut:" which gets called when desktops are switched, but this one does not propagate down into ColumnList control, and I don't think extending this is anything I would want to do . Nor I do like such idea. Than there's the mouse leave events which make the tooltip to disappear, as far as I can tell from the debugging session there are two ways how to get the mouse leave event. One is regular X-window event, second one is from some artificial timer event checking mouse coordinates. (I think it's your's timer to fix up some lost mouse move events?) This timer event still calculates the mouse position over the tooltip even if I'm on different desktop, so it does disappear when I move the mouse away. This gives me idea for a way of fix which IMHO will be more robust, is there some easy way to check number of desktop during that check? And if the desktops are different, than use some illegal mouse coordinates to make sure it's evaluated as "outside of window"? Just my $0.02. BTW: uh, tried gcc --version (I wrote 4.1.1 according to version of package) and I got: gcc (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)
mr_ped, I noticed a similar behaviour using it on XP and Gentoo. The breakpoints seemed to be set in a temp file that was different than where it looked. WHen theIDE got totally confused I did a cleanall and rebuilt everything from scratch. Sometimes that seemed to work. I am sure that I was doing something simple/wrong, but am still quite new to theIDE. RE: Linux setups and Makefiles I had focused on building most of the Makefile changes into the ebuild and not Makefile patches. I'm rethinking that decision since it is not very useful for non-portage based systems. I am planning to look into the Build/Makefile generation code and see if they can be made to generate more portable Makefiles. EBo --
I fixed all those case errors in the sqlite plugin and SqlApp in my local copy and compiled SqlApp. But it fails with error dialog "no such table: BOOK". Guido
mr_ped wrote on Sat, 03 March 2007 07:23 Problems with debugging (been toying with it little bit more): When I run some example with F5, I can't stop it, and if I add breakpoint during execution, it gets ignored. When I have some breakpoint added ahead of F5, it works, and while the application is breaked, I can use stop debug and edit breakpoints. But once I rerun it with F5, it again ignores everything. Well, I do not know yet how to do that in gdb... Current linux debugging works by spawning child "gdb" process and then communicating with it via commandline. When code runs, there is no way (known to me) how to set breakpoints. I would like to have own low-level debugger in future, just like we do in Win32 - those problem would then be gone. The main problem there is to find a way how to parse debug info from binaries... (Win32 has nice .dll for this task..) Mirek
Ah... that makes sense. I know there is a way to do it because the gdb GUI's (like xgdb or ddd) are able to handle the GUI/gdb interaction with setting breakpoints, etc. Hope that helps. EBo --
I think improving build-in debugger has very low priority right now, as there are several front-ends for gdb already and the debugger in IDE is lacking many features anyway. Rather focus on improving the platform itself. Automated tests is one thing which I will be looking into very soon, and making them as easy as possible to set up and use with TheIDE would made me very happy. 2007.2 for example? And I hope the 2007.1 will get out soon (but with bugfixes ). What about scrollbars graphics in KDE and the third arrow? I was trying to find the code which is responsible for the drawing of scrollbars, so far I was unable to get the overall idea how that thing works, so I'm not sure why they don't work. (I mean the drawing, the third arrow is pretty much clear as the UPP scrollbar code looks pretty much hard-wired to classic up / bar / down scrollbars in all related functions from what I have seen so far). Also I have no idea how the KDE itself works with the 3 button scrollbars, is it some standard Qt control? Is it some standard of Qt, or is there a way to detect which type of scrollbar is used by current KDE theme? And how does the chameleon load the KDE theme, where should I look for the scrollbar graphics? The more you will point me in the right direction, the more likely I will be able to help, than again if you point me enough, maybe you will solve it sooner than me.
Quote: Also I have no idea how the KDE itself works with the 3 button scrollbars, is it some standard Qt control? Is it some standard of Qt, or is there a way to detect which type of scrollbar is used by current KDE theme? And how does the chameleon load the KDE theme, where should I look for the scrollbar graphics? Chameleon on X11 uses gtk as widget rendering backend. In the past, prior chameleon, upp parsed the KDE global config file for color scheme and font. But now Qt/KDE is totally out of the picture. If you want KDE-style scrollbars, you need to derive your own class. Qt is GPL, so linking to it never was an option. Guido
"Qt is GPL, so linking to it never was an option." Ummm... I *thought* Qt was not GPL, but their own license -- namely non-commercial was free and comercial licensing was rather expensive. Regardless of the above, why would linking to a GPL library not be an option? EBo --
ebojd wrote on Tue, 06 March 2007 17:52 "Qt is GPL, so linking to it never was an option." Ummm... I *thought* Qt was not GPL, but their own license -- namely non-commercial was free and comercial licensing was rather expensive. Regardless of the above, why would linking to a GPL library not be an option? The gratis version went through numerous license changes over the years. Now the QPL has been superceded by the GPL. Also, in the past Qt/X11 hat a special status. The gratis version for windows used to be a major release behind. Now it is the same license on all supported platforms. Upp is BSD licensed. Once it was linked to Qt, all releases from then on would become GPL'ed once and for all and with it all applications developed with upp. That is how the GPL works. gtk is LGPL, leaving the upp source and applications built with it unaffected. In other words, if upp used Qt for theming, then for developing proprietary apps with upp, the commercial Qt license would apply, and you'd pay through the nose. Guido
ebojd wrote on Tue, 06 March 2007 07:54 Ah... that makes sense. I know there is a way to do it because the gdb GUI's (like xgdb or ddd) are able to handle the GUI/gdb interaction with setting breakpoints, etc. Hope that helps. EBo -- When binary runs? Mirek
Yes (assuming that I understand the flow of control correctly). I use DDD -- (desc: GNU DDD is a graphical front-end for command-line debuggers such as GDB, DBX, WDB, Ladebug, JDB, XDB, the Perl debugger, the bash debugger, or the Python debugger. Besides ``usual'' front-end features such as viewing source texts, DDD has become famous through its interactive graphical data display, where data structures are displayed as graphs.) <http://www.gnu.org/software/ddd/> If I recall correctly, the command-line debugger is spawned in a thread, and the commands are passed back to it through a pipe. It's been nearly a decade since I cranked the wrench at that level, but that is what I recall. EBo --
Thanks, Since I posted the licensing question I tracked down the QPL/GPL licensing and skimmed through it. I also get the GPL/LGPL distinction. Personally I like Qt and tools, but typically cannot justify the $4+K for a development license for a specific project... Thanks for the info... EBo --
Eh, I don't care about linking to Qt (I'm not asking for that). But I do certainly want to see scrollbars in UPP apps. (whatever they will look like). When I change the style of IDE to classic or standard, I do see scrollbars correctly. When I set "host platform", I get the bar drawn correctly, but no arrows, just empty rectangles. (and the third arrow is ignored) My question about Qt was if there are also themes with classic 2 arrows scrollbars or every Qt scrollbar does have only 3 arrows. If there are both types of themes, there's probably some way how to detect the three arrow scrollbar inside the UPP. (than again, maybe GTK apps with enforced Qt look (kubuntu "hosted platform" behavior) will be unable to detect that anyway, I don't know neither GTK or Qt)
mr_ped wrote on Wed, 07 March 2007 00:22 When I change the style of IDE to classic or standard, I do see scrollbars correctly. When I set "host platform", I get the bar drawn correctly, but no arrows, just empty rectangles. (and the third arrow is ignored) My question about Qt was if there are also themes with classic 2 arrows scrollbars or every Qt scrollbar does have only 3 arrows. If there are both types of themes, there's probably some way how to detect the three arrow scrollbar inside the UPP. (than again, maybe GTK apps with enforced Qt look (kubuntu "hosted platform" behavior) will be unable to detect that anyway, I don't know neither GTK or Qt) Ok. qt-gtk-engine uses qt for rendering gtk widgets, as upp uses gtk to render its controls. Not surprising this 'double-talk' poses problems for chameleon. At any rate, I don't see how chameleon could pull extra widget elements, like extra scrollbar buttons out of the hat, which don't exist in the upp scrollbar control class already. Beware, I have no definite answer to that, as I'm not much involved in chameleon development. Guido