[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Various retain/release bugs
From: |
Nicola Pero |
Subject: |
Re: Various retain/release bugs |
Date: |
Sun, 24 Feb 2002 12:34:54 +0000 (GMT) |
Alexander,
I'm Cc:ing the dev mailing list so that my list of 'small tasks' can be
useful to other people as well.
> I'd love to help! All this bug-hunting seems to be a good way of
> becoming familiar with gnustep. :-)
Yes - bug-hunting is a very good way to start (and useful too!).
> Problem is, the tasks in the task
> list at gnustep.org are a bit large (at least for having one line
> descriptions), and the task lists at savannah are all empty, so I don't
> really know where to start.
Yes - keeping an up-to-date task list is a task in itself. :-)
Let me see tasks which are reasonably simple, yet reasonably interesting
and useful, and reasonably {little/medium}-sized.
- try to reduce unnecessary redrawing in existing gui elements. this is
not necessarily simple :-) but it's probably very interesting. most gui
elements currently redraw themselves a lot. each redrawing slows down
the gui. still, if you don't redraw enough, you get a wrong result of
course, and most unnecessary redrawing commands where added by people
who found that in some special situation, without that redrawing
command the display would be wrong. so the difficult - yet interesting
- thing is to take stuff and try to figure out how to make sure it's
redrawn only as many times as necessary - not more, not less - and
still, of course, honour the documented API, and never get the wrong
drawing no matter how special the situation :-)
most of the problem with unnecessary redrawing is not in the generic
NSView machinery for redrawing - which has been debugged quite a lot
(minor bugs can still be there) - but is in the specific gui elements
(menus, browsers, buttons, clipviews, scrollviews, tables, whatever).
- write more examples/demos of gui elements (as more bundles to
GSTest.app, or as standalone little applications) - for example we have
no example/demo of combo boxes, bezier paths, cursors/tracking rects,
fonts/font manager/font panel, help stuff, popup buttons, printing,
NSScreen, spell checking, tab views, editing in table views, matrices,
text attachments ...
- improve NSTabView (probably require to rewrite most of it) - this is
a very useful gui element which is not well implemented in gnustep - btw
if you don't display the little tags on top, I think it can also be used
to produce the classical NeXTstep swap views - where you have a control
on top of the window, and by acting on the control, you change the view
displayed below - used to build NeXTstep-like inspectors (like the ones
in Gorm) - where you swap the view by using a popup button, or
NeXTstep-like preferences panels - where you swap the view by using a
row of buttons in a scrollview. We might even add some extension to
tab view to support automatically building these kinds of panels!
anyway, just rewriting the NSTabView so that it is a fully functional
and bug-free implementation would be very useful.
- improve NSProgressIndicator - eg it would be nice if this gui element was
displaying some nice image (like it does on Apple MacOS X - but of
course not the same image :-) rather than just filling all blue.
Also, I'm not sure how it works on Apple MacOS X, but perhaps some sort
of autosizing would be good ?
- improve NSComboBox - not sure of the state of this, but last time I
tried it, it looked a bit ugly. this is not really part of the normal
nextstep user interface, but since we have it, it would be good to have
it working well.
- examine the status of the help system. how much of it is implemented ?
how much of it actually works ? <I don't know myself> can we provide
an example/demo of the help system ?
- we need to improve the text system a lot, only it's difficult to
isolate small tasks in the text system. When it's done, it will be
a very advanced text system - but the backend issues are not
really clear yet - I don't think we really understand how to draw
glyphs on screen, or how to convert chars into glyphs. It's probably
not a good idea to begin working here.
But you can probably pick up something in the text system which you
miss - say, pageDown: and pageUp:, and implement it.
- implementing a tool which can process an Objective-C source file and
extract the localizable strings from it (similar to what the genstrings
program does on nexstep/openstep/macos-X). it should also be able
to manage merging/updating existing localizable string files etc.
this is really a base library task, and it's a command line tool.
but it would be mainly used inside gui applications.
- rename all gnustep-gui images to have meaningful and nice names, and
update all callers. Probably all images should have a name prefixed
with 'GS' - like 'GSHome.tiff' instead of 'common_Home.tiff'.
(this is a very preliminary step for theme support, which will be very
useful later on ... a theme will be able to replace system images with
its own images ... so the names of system images need to be pretty
enough to become part of the theme API).
- writing a new useful gnustep application. this still remains a top
priority in our task list, and I'd like it to be always included in
every task lists we produce. having useful gnustep applications means
more reasons for people to use gnustep, means more bug fixed, means
more users, means more new developers ...
If you plan on doing more work on gnustep than simply sending in little
patches and bug fixes, please contact Adam Fedor - we need a copyright
assignment paper, saying that you donate your new GNUstep code to the FSF.
- Re: Various retain/release bugs,
Nicola Pero <=