* WriteWindow.c: modified the file notification to only obey changes to the
file's contents, because a notification will be sent for *every* change
made, i.e. changing the file's comment will also trigger a notification.
This is archived by watching changes to the file's date stamp.
104 lines of code changed in 2 files:
* YAM_UT.c: modified StrBufCpy() and StrBufCat() once more to obey a possible
NULL source string when actually copying the string to the new buffer.
43 lines of code changed in 1 file:
* YAM_UT.c: modified the StrBufCpy() and StrBufCat() functions to fail
gracefully and to output an error message if the supplied source string is
NULL.
64 lines of code changed in 1 file:
* YAM_WR.c: StrBufCat() was called with a NULL source pointer which caused
crashes on OS4, because newlib.library's strlen() function is not NULL
pointer safe. Added a check for this. This should fix bug #1978261.
2 lines of code changed in 1 file:
* YAM.c: the configuration was constantly checked to be valid due to a
missing comparison if no ADST utility was running.
1 lines of code changed in 1 file:
* YAM.c, WriteWindow.c: minor cosmetic code changes to better accomodate
the latest changes and to use the generic "isFlagSet()" macro for dealing
with the signal processing in our main event loop.
43 lines of code changed in 3 files:
* WriteWindow.c: moved the AddTail() to the global list call behind the
notification initialization to avoid possible race conditions.
4 lines of code changed in 1 file:
- removed the last MAXWR reference which was commented out.
0 lines of code changed in 1 file:
* #?RequestWindow.c: changed the classes to let the super class ignore all
custom attributes upon OM_NEW.
149 lines of code changed in 5 files:
* WriteWindow.c: fixed the WriteWindow's broken file notification mechanism.
A global message port will be used for all windows.
139 lines of code changed in 4 files:
* FolderRequestWindow.c: fixed the doubleclick notification setup. This fixes
bug #1978384.
50 lines of code changed in 1 file:
* YAM.cd, german.ct, YAM_TR.c: added the account name to all error messages
during a POP3 mail transfer to make it easier to spot the faulty account
in case a user has more than one account at the same provider. This fixes
bug #1931612.
56 lines of code changed in 1 file:
* WriteWindow.c: added missing MUIA_Window_AppWindow tag to allow dragging
icons from Workbench to the attachment list.
10 lines of code changed in 1 file:
* AttachmentImage.c: added a warning and a beep in case WorkbenchControl()
fails to deliver a list of all opened windows, which is the case for i.e.
DOpus Magellan.
0 lines of code changed in 2 files:
* AttachmentGroup.c: dropping an alternative HTML part of a mail onto a
Workbench window will now try YAM's internal filename as output filename
in case all other possible filenames are empty strings.
0 lines of code changed in 2 files:
* InfoWindow.c: added class forgotten in last checkin.
100 lines of code changed in 1 file:
* misc: splitted all requesters into separate classes and a function to open
a requester. By doing this we can get rid of the ugly pair of
COLLECT_RETURNIDS and REISSUE_RETURNIDS macro calls, which may cause crashes
because of double node removals.
1553 lines of code changed in 11 files:
* YAM_WR.c, YAM_UT.c: fixed the broken MorphOS build as the
ObtainDirContext() function is a macro call there and gcc 2.95.x does not
allow to have preprocessor directives within macros.
12 lines of code changed in 2 files:
* YAM_WR.c, YAM_COg.c, misc: moved the charset configuration to the read
configuration pane and changed all internals to accept a different default
charset for the write window/operations instead. This should deal with
bug #1881825 and help users wanting to have more control over the default
charsets used for reading/writing an e-mail. Let's see how this goes,
thought.
122 lines of code changed in 14 files:
* YAM_UT.c: dos.library 52.12 from the July update doesn't use the supplied
match string correctly and simply returns all directory entries instead of
just the matching ones. This bug has been fixed since dos.library 52.17.
As a temporaty workaround until the next OS4 update we simply supply a
suitable match hook to do the dirty work. This should fix bug #1971328.
32 lines of code changed in 3 files:
* YAM_WR.c, WriteWindow.c: reimplemented the bounce mail functionality
by adding the necessary GUI code to the 'WriteWindow' class and
reactiving its functionality in YAM_WR.c. Now bouncing a mail should
work as expected again.
554 lines of code changed in 2 files:
* classes, misc: renamed the "classes" subdirectory to "mui" to make it
more clear that this subdirectory contains stuff related to the
graphical user interface.
9526 lines of code changed in 102 files:
* YAM_WR.c: changed the autosavefilename composing function to always
generate ".autosaveXX.txt" files with two digits.
* YAM_WR.c, misc: changed the CreateWriteWindow() function to accept an
additional paramater with the "mode" the write is being initialized for.
In addition, changed the "enum NewMode" to be called "enum NewMailMode"
and used respectively.
95 lines of code changed in 16 files:
* YAM_WR.c: changed the pattern for the autosave files to accept numbers only
instead of any kind of character behind '.autosave'.
1 lines of code changed in 1 file:
* Threads.c: swapped the timer start and the enqueue operation of the request
to ensure that the node is in the list before the timer expires for *very*
short delays.
35 lines of code changed in 1 file:
- fixed the svn:executable property usage by removing that
property from all our source/header files.
1 lines of code changed in 90 files:
* MimeTypes.c: added a missing include statement which ended up in a
compiler warning. BTW: This is the 4000th (!) commit since YAM is open
sources :). So please cheer with us on this important milestone and
thanks to all involved parties who keep YAM floating.
4 lines of code changed in 1 file:
* Mime.c, mime, misc: splitted the Mime.c file into smaller modules and
put them into the "mime" subdirectory. Now, e.g., the base64 routines
are in a separate file instead of having all those mime encoding/decoding
routines in one file. In addition, renamed the old Mime.c to MimeTypes.c
as only the mime types managing routines are left here.
4060 lines of code changed in 37 files:
* tools/genclasses, misc: added a parameter type check to the GenClasses
tool so that it checks for used BOOL parameters in the DECLARE()
statements of our classes. BOOL parameters are known to cause trouble
and therefore should be replaced by ULONG parameters instead.
10 lines of code changed in 2 files:
* YAM.c, YAM_WR.c, YAM_write.h, WriteWindow.c: reworked the .autosaveXX.txt
file handling and implemented it for the new WriteWindow implementation.
Now the autosave functionality should work again.
140 lines of code changed in 4 files:
- minor cosmetic changes to the error handling of the ExamineDir() call
2 lines of code changed in 1 file:
* Aboutwindow.c: updated current author list for 2.6 version.
2 lines of code changed in 1 file:
* WriteWindow.c: fixed bug where upon closing a write window no check
for an eventually existing data loss was performed and the user was never
warned of the data loss.
6 lines of code changed in 1 file:
* YAM_WR.c, rexx/*.c: forgot to reset the ActiveRexxWMData pointer as soon
as a writeMailData object was cleaned up and it was the currently active
rexx related window. In addition, the arexx commands will now cleanup
and dispose a previously existing write window in quiet mode so that
no memory/window leak may happen due to the constantly hided status
of subsequent write windows using in arexx. That means, in practice,
there can only be one currently active write windwo in quiet mode for
arexx usage. I hope this is will be no serve limitation, thought.
51 lines of code changed in 6 files:
* YAM_MA.c, YAM_WR.c, misc: moved the NewXXXMailWindow() functions and all
related local functions from YAM_MA to YAM_WR as they are better suited
there.
1453 lines of code changed in 4 files:
* WriteWindow.c, YAM_WR.c, YAM_MA.c, YAM_write.h: reimplanted the quietMode
functionality used for the Arexx command handling of write windows. Now
the Arexx commands dealing with the write windows should work as expected
again and keep things "quiet" in case background processing is selected.
27 lines of code changed in 4 files:
* FolderList.c, MailList.c: fixed wrong usage of shared and exclusive access.
4 lines of code changed in 2 files:
* rexx/*.c: added missing includes for the OS3 build.
10 lines of code changed in 10 files:
* FolderList.c, MailList.c: reworked the deadlock detection when locking a
list to lock the list a second time, even if that has been done before.
34 lines of code changed in 2 files:
* YAM_WR.c: added missing includes for the OS3 build.
3 lines of code changed in 1 file:
* YAM_WR.c, WriteWindow.c, misc: largely rewrote the write window implementation
to fully use the MUI classes system in the "classes" directory. Also changed
the write window implementation to use a global exec list to manage the
write windows rather than using a fixed amount (3) of global write window
structures. This change therefore allows to open a theoretically unlimited
amount of write windows now. In addition, due to the port of the write
window code to the internal classes system the whole write window
functionality should be way more flexible now for future adaptions. As this
whole thing implies a rather large code change, please bear in mind that
some functionality may be broken and needs to be fixed in some way. In
addition, some minor things are still missing and need to be adapted.
Therefore "#warning 'TODO'" statements were added to the code where
some things still need to be moved to the new write window implementation
and which are currently disabled. This includes:
- YAM_MA.c: the bounce mail functionality which requires a new
"BounceWindow" class and/or adaptions to the current WriteWindow class
to open a bounce window (old WR_NewBounce) instead.
- YAM.c: the check for eventually existing .autosaveX.txt files have
to be adapted to search for such files and open a new write window
regardless of the X number.
- Arexx: the 'quietMode' functionality of the WriteWindow class still
needs some adaptions so that the window can really be opened in
quietMode (hided) and that the write Arexx commands still work as
expected.
So please keep the above write window rewrite in mind when running this
version because some things might still not work as expected or even
crash YAM.
4821 lines of code changed in 46 files:
* Rexx.c, rexx/*.c: reworked the ARexx handling once more. The commands don't
use one single memory buffer for arguments and results anymore, but separate
buffers instead. This makes variable parsing and handling much easier and
safer.
1474 lines of code changed in 74 files:
* Aboutwindow.c: added Luca Longone and Samir Hawamdeh to the list of
translation contributors.
2 lines of code changed in 1 file:
* extrasrc/AllocSysObject.c: fixed a warning.
2 lines of code changed in 1 file:
* extrasrc.h, lib/mos: again reworked the URL_Open() stub handling by
adding stub libraries to 'lib/mos' rather than defining our own inline
stubs in extrasrc.h. This should be the way we are dealing with such
missing vararg stubs.
1 lines of code changed in 2 files:
* extrasrc.h, misc: added the missing URL_Open() inline stub so that the
MorphOS compile proceeds again. Also fixed some minor compiler warnings.
15 lines of code changed in 3 files:
* YAM_UT.c: replaced the tag call of URL_Open() by a varargs call.
2 lines of code changed in 1 file:
* MUIObjects.c, Requesters.c: separated lots of functions into distinct
modules. All requester functions are now located in Requesters.c and all
simplified MUI object creation functions are located in MUIObjects.c. This
should help to shrink that monster YAM_UT.c.
2035 lines of code changed in 64 files:
* YAM_AB.c: slightly modified the birthday check function, as it wasn't
recursive at all.
25 lines of code changed in 1 file:
* misc: moved all AppIcon and Docky icon related stuff to separate modules.
741 lines of code changed in 10 files:
* Threads.c: the argument array was initialized with shifted indices.
70 lines of code changed in 1 file:
* Rexx.c: reworked the STEM variable handling to use a standard Exec MinList
instead of a handcrafted list. Also cleaned up the code a bit.
294 lines of code changed in 1 file:
* YAM_UT.c: the AppIcon now uses the same image logic as the folder icons do.
That means that the "new" image will be used, whenever there is either new
or unread mail, "old" otherwise. Before the "new" image was used for really
true new mails. But since YAM removes the "new" state from a mail after
getting new mails this is much more intuitive, since the mail is "almost
new" and still unread.
22 lines of code changed in 1 file:
* Rexx.c: one of the latest changes made YAM set ARexx variables even if there
was no result to be set. This caused OS4 to crash badly, while it went
unnoticed on OS3.
33 lines of code changed in 1 file:
* Rexx.c, rexx/*.c: reworked the source layout again. Now the parameter
structures are strictly local and the required index for a possible result
of an indiviual command is returned upon memory allocation. Also removed
the possibility to disable certain commands, as this wasn't used at all.
1027 lines of code changed in 73 files:
* rexx/help.c: fixed a slightly wrong output.
3 lines of code changed in 1 file:
* rexx/*.c: added the missing proto/exec.h include for OS4.
108 lines of code changed in 71 files:
* misc: split the complete YAM_rexx_rxif.c file into separate files which
are now located in the subdirectory "rexx". YAM_rexx.c has been renamed
to Rexx.c.
7916 lines of code changed in 86 files:
* YAM_rexx.c: the HELP command was broken due to the latest changes.
2 lines of code changed in 1 file:
* YAM_rexx.c, YAM_rexx_rxcl.c, YAM_rexx_rxif.c: replace the outdated custom
search method for ARexx command by a simple binary search. The old method
stems from an old tool to generate linked lists. Unfortunately the generated
code is not extendable without that tool and with the binary search the
parsing code becomes much easier to understand. All in all this change
makes the YAM_rexx_rxcl.c module completely unnecessary.
215 lines of code changed in 6 files:
* YAM_COg.c: the current charset wasn't highlighted in the popup list, because
the wrong attribute was queried.
1 lines of code changed in 1 file:
* YAM_rexx.c, YAM_rexx_rxcl.c, YAM_rexx_rxif.c: replace the outdated custom
search method for ARexx command by a simple binary search. The old method
stems from an old tool to generate linked lists. Unfortunately the generated
code is not extendable without that tool and with the binary search the
parsing code becomes much easier to understand. All in all this change
makes the YAM_rexx_rxcl.c module completely unnecessary.
306 lines of code changed in 6 files:
* YAM_MA.c: added missing check for DELF_UPDATE_APPICON.
1 lines of code changed in 1 file:
* ReadMailGroup.c, ReadWindow.c: added the missing DELF_UPDATE_APPICON flag
to the MA_DeleteSingle() calls. Otherwise the AppIcon won't be updated.
3 lines of code changed in 2 files:
* ReadMailGroup.c, ReadWindow.c: fixed some unconverted MA_DeleteSingle()
usages which where forgotten to be switched to the new flags based
API and prevented YAM from building correctly.
3 lines of code changed in 2 files:
* YAM_MA.c: fixed another possible nested folder lock.
2 lines of code changed in 1 file:
* YAM_MA.c, YAM_TR.c, YAM_FI.c: replace the single boolean parameters of
MA_DeleteSingle() by flags, because an additional information was needed
to prevent an update of the AppIcon, which could cause nested locks of
the folder list.
25 lines of code changed in 4 files: