Commit fef0502c authored by Lars Clausen's avatar Lars Clausen

Moved changes from branch to trunk. 0.93 is hereby finalized, 0.94 is next.

parent af742f50
......@@ -35,3 +35,5 @@ intltool-extract
2004-05-21 Lars Clausen <>
* RELEASE-PROCESS: Update with new info about release branches.
* Many files: Moved devel branch back into main trunk. Should
have been done in the opposite way, with release in a branch.
2004-05-20 Hans Breuer <>
* acinclude.m4 : disable setting of PYTHON_PREFIX
......@@ -17,6 +24,23 @@
* plug-ins/python/ : initialize
stroke to none
2004-05-18 Lars Clausen <>
* app/diagram_tree.c (select_node): Use
diagram_remove_all_selected to kill selected list.
* lib/font.c: Set language when using a different context.
* plug-ins/svg/svg-import.c: Changed isdigit to g_ascii_isdigit
and removed ctype include (#142661).
* lib/paper.c (get_default_paper): Changed isalnum to
g_ascii_isalnum and removed ctype include. (#142661)
* objects/custom/shape_info.c:
* lib/dia_svg.c:
* app/diaunitspinner.c: Removed unrequired ctype.h include. (#142661)
2004-05-17 Hans Breuer <>
* lib/object_defaults.c : don't 'failed to load external
......@@ -27,37 +51,101 @@
* lib/dialinechooser.c lib/diaarrowchooser.c : finally
avoid finalization of floating references, bug #142307
2004-04-21 Tomasz Kłoczko <>
2004-05-15 Lars Clausen <>
* plug-ins/xfig/xfig-import.c: Handle default fonts and illegal
fonts better (#138655)
* doc/pl/ (EXTRA_DIST): Also include all xml files here.
* doc/en/ (EXTRA_DIST): Including all required files in
dist, xml, dbk and man. Also the sub-xml files. (#142098)
* sheets/ (EXTRA_DIST): Not distributing the
translation-reports, they are generated automagically. THANKS
file not considered locally generated, so is not locally
cleaned. (#133735)
* lib/widgets.[ch]: Changing dia_arrow_selector to be a gobject.
* lib/diaarrowchooser.c:
* lib/prop_attr.c: Fixing naming for arrowselector.
* objects/UML/object.c (objet_type): Oops, little too aggressive
with the DiaObject thing here:)
* objects/custom/shape_info.c (parse_svg_node): Use
g_ascii_isdigit instead of isdigit.
* app/diaunitspinner.c (dia_unit_spinner_update):
* lib/dia_svg.c (dia_svg_parse_style): Using g_ascii_isspace
instead of isspace avoids char subscript issues (#142467).
* lib/persistence.c (persistence_get_string): Fixed 0/NULL/FALSE
return value conflict.
* app/display.c (ddisplay_update_handler): Fixed 0/FALSE return
value conflict. Also improved signature. (#142466)
* app/load_save.c (diagram_data_load): Don't overwrite the list in
the layer, but instead free the returned list (#142480)
* app/pixmaps/ (IMAGES): Added png's to be installed
for the grid widget.
* doc/en/ (dia.1): Make proper rule for making dia.1
* (DB2MAN): Currently just check for two known
positions for the docbook xsl. Don't know a generic way to find
this info. Ought to add an option for it, but then it's really
only required for maintainers, I think. Maybe.
* app/display.c (update_snap_grid_status): Remove nasty image
toggling code not require for grid toggle button anymore. (#142475)
* app/interface.c (create_display_shell): Use
dia_toggle_button_new_with_images to create grid toggle button.
Much nicer. (#142475)
* app/menus.c (menus_initialize_updatable_items): Free the string
along with the GString. (#142475)
* lib/intl.c (free_alias_table): Free hash table entries in a
proper way, avoiding duplicate frees. (#142475)
* lib/object_defaults.c (_obj_store): Only free layer_name if it's
not put in the hash (avoid reading freed memory). (#142476)
* lib/widgets.c (dia_font_selector_set_styles): Stop leaking
faces. (#142484)
(dia_font_selector_get_family_from_name): Stop leaking
families. (#142482)
2004-05-14 Lars Clausen <>
* Transfer of fixes from release branch. Not the prettiest way to
do it, this should be done during release, not afterwards.
Tomasz Kłoczko <>:
* acinclude.m4: minor fixes (added missing [] quotation).
2004-04-13 Lars Clausen <larsØ>
Lars Clausen <>:
* app/interface.c (toolbox_delete):
* app/app_procs.[ch] (app_exit): Stop the delete event if the user
cancels quit due to modified diagrams.
2004-04-07 Samúel Jón Gunnarsson <>
Samúel Jón Gunnarsson <>:
* is.po: Added "is" to ALL_LINGUAS.
2004-04-04 Lars Clausen <>
* dia.spec (Release):
* config.h.win32:
* doc/{en,pl}/dia.xml:
Update to pre2.
Lars Clausen <>:
* dia.spec: Updated as per mail from Zhang Lin-bo <>
2004-04-03 Lars Clausen <>
* objects/standard/ellipse.c (ellipse_copy): Properly copy the
handle in the middle of the ellipse.
2004-03-21 Hans Breuer <>
Hans Breuer <>:
* lib/makefile.msc : removed -DGTK_DISABLE_DEPRECATED; the
burden should be shared and not be win32 only ;) [this time
......@@ -76,6 +164,319 @@
* app/win32print.[ch] : make win32_printer_close() return an
error code, it's used as pclose replacement
Lars Clausen <>:
* RELEASE-PROCESS: Mention PATCH keyword in release process.
2004-05-06 Lars Clausen <>
* lib/widgets.[ch]: Utility function to make a widget with two
images (selected and non-selected).
* lib/diagramdata.h: Renamed selectable to connectable.
Selectable will come later.
* app/pixmaps/ (imagedir):
* app/pixmaps/connectable.png:
* app/pixmaps/connectable-empty.png: New images for the
selectability widget. Proper installation, too.
* app/layer_dialog.[ch]: Adding new button showing connectability
status. Much cleaner way of doing the button, but some problems
with the item getting selected
* lib/widgets.h: Reminder of how to install images for use by
2004-05-05 Lars Clausen <>
* objects/network/
* objects/network/pixmaps/radiocell.xpm:
* objects/network/pixmaps/basestation.xpm:
* objects/network/network.c:
* objects/network/basestation.c:
* objects/network/radiocell.c:
Patch from W. Borgert <>: Radio cell and base
station objects.
* lib/arrows.[ch]: Patch from Anthony <>:
Backslash arrow head.
* app/pagesetup.c (pagesetup_respond): Do not free ps twice.
Notify takes care. Should maybe use that more.
* lib/diagramdata.[ch]:
* app/filedlg.c (file_export_ok_callback):
* app/diagram.c (diagram_finalize): DiagramData now a GObject.
* app/dia-props.c (diagram_properties_respond):
* app/diagram.c (diagram_set_modified):
* app/undo.c:
* app/disp_callbacks.c:
* app/commands.c:
* app/load_save.c (diagram_save):
Better handling of undo and modified status -- only diagram
properties and page setup explicitly set modified status, all
other important changes should be done through the undo stack
2004-05-04 Lars Clausen <>
* app/app_procs.c (app_init): Consistently open a new diagram if
none specified, with standard name Diagram1.dia.
* app/layer_dialog.c:
* app/diagram.c (diagram_finalize):
* app/commands.c (dialogs_layers_callback):
* app/filedlg.c (file_export_ok_callback):
* app/app_procs.c (app_exit):
* app/display.c (display_set_active):
* app/interface.c (dia_dnd_file_drag_data_received):
* app/recent_files.c:
Undone attempt at unifying the multi-diagram windows (like
layers). It broke the layers and didn't make much sense for the
diagram properties dialog anyway.
* lib/group.c:
* lib/diatypes.h:
* lib/diagramdata.c:
* lib/object.h:
* lib/object.c: Undone attempts at GObject'ifying DiaObject -- too
many subclasses have to be fixed. Fixed remaining
Object/ObjectType renaming issues.
2004-05-02 Lars Clausen <>
* lib/object.[ch]: Making DiaObject a GObject. Now can I avoid
having to make all the children objects conform to
GObject style at once? Warning! Does not compile right now.
* many, many files: Rename Object to DiaObject in preparation for
making it a GObject.
* app/diagram.[ch]: Turn diagram into a real GObject.
* app/pagesetup.c:
* app/filedlg.c: Correctly ref and unref diagram.
* lib/diagramdata.h: Starting to turn it into a GObject as well.
2004-05-02 Lars Clausen <>
* lib/object.[ch]: Starting to convert Object to DiaObject, son of
* app/dia-props.c: Undo the attempt at making it really
multi-diagram, now going for a one-diagram dialog.
2004-04-30 Lars Clausen <>
* app/undo.c: Undoing broken undo stuff for diagram properties and
page setup. Shouldn't be mixed into undo at all.
* app/render_gdk.c (draw_pixel_line): Use the dash-setting
function to avoid in particular the grid crawling.
* lib/diagdkrenderer.[ch] (dia_gdk_renderer_set_dashes): Function
to allow aligning dashes, so they don't crawl.
2004-04-28 Lars Clausen <>
* app/ New files diacanvas.[ch]
* app/interface.c (create_display_shell): Use new diacanvas that
allows placing widgets on canvas, for text edit.
* lib/object.h:
Early work towards rotation. No implementation yet.
* app/layer_dialog.c (undo_layer):
* objects/network/bus.c (bus_create_change):
* objects/standard/box.c (aspect_create_change):
* objects/standard/ellipse.c (aspect_create_change):
Use g_new0 for change struct.
* app/undo.c (diagram_change_apply_or_revert):
Support for undo of diagram properties and page setup.
* app/disp_callbacks.c (ddisplay_canvas_events):
* lib/text.h:
* lib/diagramdata.h:
* app/modify_tool.c (click_select_object):
* lib/text.c (text_register_editable):
Starting work on new text editing model. Guarded by #ifdef so
2004-04-07 Lars Clausen <>
* app/recent_files.c (open_recent_file_callback):
* app/interface.c (origin_button_press):
* app/filedlg.c (file_open_ok_callback):
* app/display.c:
* app/diagram.[ch]:
* app/commands.c (dialogs_layers_callback): Using new
diagram_set_current() function to ensure auxilliary windows are
* app/layer_dialog.c: Trying to unify with dia-props. Diagram
menu now borken. *sniff*
* app/dia-props.c: Diagram properties window attempted
persistentified. Trying to make more like layer dialog (since it
already changes when the diagram changes), but some things still
2004-04-06 Lars Clausen <>
* lib/dialinechooser.[ch] (dia_line_chooser_set_line_style):
* lib/attributes.c (attributes_set_default_line_style):
* app/interface.c (create_lineprops_area):
Make line style persistent as well. Added function to directly
set the style and dashlength of a dialinechooser.
2004-04-03 Lars Clausen <>
* objects/standard/ellipse.c (ellipse_move_handle, ellipse_copy):
Copy the ellipse extra handle correctly.
* objects/standard/box.c (box_move_handle): Move definitions
according to bug #138925.
2004-04-02 Lars Clausen <>
* app/recent_files.c: Use absolute name for recent files list.
* lib/attributes.c: Set start and end arrow types, correctly.
* lib/widgets.c (dia_arrow_selector_set_arrow): Use new function
to get arrow index.
* lib/diaarrowchooser.[ch]: Support for setting arrow info.
* app/interface.c (create_lineprops_area): Set persistently stored
arrow info.
* lib/arrows.[ch]: New function to get arrow index (in arrow_types)
from arrow type.
* lib/dia_dirs.c: dia_get_absolute_path now creates a canonical
path (i.e. without '.' or '..'). Not tuned for Win32 yet.
* plug-ins/xfig/xfig-import.c: Redone ordering of import to comply
with what xfig does. Text now converted from latin-1 to utf-8
(latin-1, since that's what xfig seems to use. Would like to see
examples of non-latin-1 figs). String case problems fixed.
2004-04-01 Lars Clausen <>
* lib/attributes.c:
* app/interface.c: Default arrows now stored persistently, too.
* lib/arrows.[ch]: New function to get arrow type from name.
* app/color_area.c (color_area_create):
* lib/attributes.c:
* app/linewidth_area.c: Also persistent colors and line width.
That was easy. Arrows and line style will take a bit more work,
but not much.
2004-04-01 Lars Clausen <>
* app/preferences.c: All preferences are now
handled by persistence, old prefs load and store code is gone.
* lib/persistence.[ch]: Added string and color persistents. This is
a different string from the one used in the printer dialog, that
one has a GtkEntry attached -- may want to make that one an
encapsulation of this one or something.
2004-03-31 Lars Clausen <>
* app/app_procs.c: Do persistence before prefs. Prefs are to be
phased out anyway.
* lib/persistence.[ch]:
* app/preferences.c: Adding persistence for integers, reals,
booleans. Fixed stupid list bug. Test persistence for prefs.
2004-03-30 Lars Clausen <>
* app/recent_files.c:
Debugging of deallocation.
* lib/widgets.c:
Font menu now uses persistence. Ordering needs fixing, or it must
be sorted.
* lib/libdia.def:
* lib/ (libdia_la_SOURCES):
* app/ (dia_core_files):
* app/persistence.[ch]:
* lib/persistence.[ch]: Moved to lib as widgets need it. Also a
number of fixes, including multiple entries now being read
properly. Still some oddity about the persistent list having the
role as first entry (which makes the font menu crash after a few
2004-03-26 Lars Clausen <>
* app/persistence.c:
* app/recent_files.[ch]: Redoing the recent-files list using
persistence, reducing code by about 50%. Still a problem when
selecting an item from the menu -- possibly it doesn't like the
menu being destroyed while in the callback?
2004-03-25 Lars Clausen <>
* app/persistence.c (persistence_load_string): Missing semicolon?!?
2004-03-24 Lars Clausen <>
* app/persistence.[ch]:
* app/paginate_psprint.c (diagram_print_ps): New type of data can
be stored persistently: Strings. Only the printer command/file
go in here now, but things like creator, organization, diagram
comments etc could also be handled this way.
* objects/standard/beziergon.c (beziergon_draw): Avoid control
lines when the object is not selected.
2004-03-23 Lars Clausen <>
* lib/connectionpoint.h:
* app/load_save.c: Allow connection points to have names, and
handle that in load/store.
* lib/dialibartrenderer.c: Better highlighting for text.
* lib/diagdkrenderer.h (struct _DiaGdkRenderer):
* lib/diagdkrenderer.c: Better highlighting for all, using same
principles as libart highlighter.
2004-03-22 Lars Clausen <>
* lib/dialibartrenderer.[ch]:
* lib/diagdkrenderer.c:
* lib/object.h:
* app/object_ops.c:
* app/diagram.[ch]:
* app/display.[ch]:
* app/
* app/modify_tool.c:
* app/create_object.c:
* app/highlight.[ch]:
Added simple object highlighting. In GDK rendering, highlights
the bbox, in libart highlights the outline of the object (except
for texts).
2004-03-22 Lars Clausen <>
* RELEASE-PROCESS: Added info on how to do a branch for
development during release process.
2004-03-20 Lars Clausen <>
* RELEASE-PROCESS: Mention PATCH keyword in release process.
......@@ -25,7 +25,6 @@ distclean-local:
rm -f intltool-extract
rm -f intltool-merge
rm -f intltool-update
rm -f THANKS
mimedir = $(gnomedatadir)/mime-info
mime_DATA = dia.mime dia.keys
......@@ -54,7 +53,7 @@ distuninstallcheck_listfiles = \
EXTRA_DIST = dia.xpm dia_gnome_icon.png dia_gnome_menu_icon.png \ dia.spec KNOWN_BUGS $(pkgdata_DATA) \
dia-diagram.png dia.mime \
core-translation-report po-checktrans \ po-checktrans \ \
RELEASE-PROCESS makefile.msc \
config.h.win32 readme.win32 AUTHORS THANKS
......@@ -5,9 +5,6 @@ This document, at this point, is a proposal only. It attempts to
document how we intend to make the upcoming releases, in order to make
as sure as possible no stupid bugs creep in just before the release.
Talk to James K. Lowden before releasing next time about how to set up a
release branch.
......@@ -31,11 +28,12 @@ When a new version is about to be released:
$VERSION thereafter.
2) D+3: a release candidate tarball is made. It is called
$VERSION-pre1. Simultaneously, a CVS tag is made with the name
"DIA_$VERSION_PRE1" (with the non-alphanumeric characters in
$VERSION replaced by underscores). $VERSION-pre1 is registered with
the Bugzilla, however it is encouraged that bug reports are made
directly (or simultaneously) to the mailing list.
$VERSION-pre1. Simultaneously, a CVS branch is made with the name
"DIA_$VERSION_RELEASE" (with the non-alphanumeric characters in $VERSION
replaced by underscores, e.g. cvs tag -b DIA_0_93_RELEASE).
$VERSION-pre1 is registered with the Bugzilla, however it is encouraged
that bug reports are made directly (or simultaneously) to the mailing
Please see the section below on how to make a tarball (yes, please do).
......@@ -43,14 +41,18 @@ When a new version is about to be released:
files, are notified of the upcoming release to give them time to
translate new strings. No further changes to translatable strings
should happen from now till the final release ("string freeze").
Also mail to notify the Gnome Translation Project
(and perhaps get new translators).
3a) if a release-critical bug happens before D+10 (say, at D+n), the
release process is paused until the bug is fixed and a new release
candidate tarball $VERSION-pre2 is re-made. Go to either step 3a or
3b with D+10 replaced by D+n+10.
3b with D+10 replaced by D+n+10. Any bugs fixed that way, as well as
further translations, must be transferred back into the main trunk
(cvs update -j).
3b) D+10: if there are no release-critical bugs in the pre-release,
then the same source (fetched from the CVS tag) is rebuilt with the
then the same source (fetched from the CVS branch) is rebuilt with the
final $VERSION number (and the resulting "new" version is re-tagged
in CVS). $VERSION is registered with the Bugzilla, and all
$VERSION-preX are removed (from now on, bugs against -preX are
......@@ -69,6 +71,9 @@ When a new version is about to be released:
released and announced as soon as possible (extending the one-week
delay on the CVS HEAD thaw).
Once the head is lifted, the release branch is considered dead and
should no longer be used.
How to make a tarball
1. make sure you have up to date build tools installed on the system.
......@@ -92,16 +97,19 @@ Issues to solve
agreeing on how to properly handle the case of having only ten two-decimal
place version numbers until we hit 1.0
How do we notify people that a) a prerelease branch is where translation
goes and b) the prerelease branch is dead when it is.
These files need to be updated at every release:
dia.spec (note that the preN should go in release, not ver.
dia.spec (note that the preN should go in release, not ver).
## Process this file with automake to produce
SUBDIRS = pixmaps
-I$(top_srcdir) \
-I$(top_srcdir)/intl \
......@@ -145,10 +147,12 @@ dia_core_files = \
diapsrenderer.c \
diapsft2renderer.h \
diapsft2renderer.c \
persistence.h \
persistence.c \
navigation.h \
navigation.c \
diacanvas.c \
diacanvas.h \
highlight.c \
highlight.h \
dia_SOURCES = \
......@@ -530,10 +530,12 @@ app_init (int argc, char **argv)
/** Must load prefs after persistence */
if (dia_is_interactive) {
/* further initialization *before* reading files */
active_tool = create_modify_tool();
......@@ -543,6 +545,7 @@ app_init (int argc, char **argv)
/*fill recent file menu */
......@@ -554,11 +557,25 @@ app_init (int argc, char **argv)
/* In current setup, we can't find the autosaved files. */
made_conversions = handle_all_diagrams(files, export_file_name,
export_file_format, size);
if (dia_is_interactive && files == NULL) {
Diagram *diagram = new_diagram (_("Diagram1.dia"));
if (diagram != NULL) {
if (app_is_interactive()) {
if (made_conversions) exit(0);
......@@ -622,7 +639,6 @@ app_exit(void)
......@@ -653,9 +669,6 @@ app_exit(void)
/* save pluginrc */
/* save recent file history */
/* This printf seems to prevent a race condition with unrefs. */
/* Yuck. -Lars */
......@@ -765,8 +778,8 @@ process_opts(int argc, char **argv,
#ifdef HAVE_POPT
while (poptPeekArg(poptCtx)) {
char *in_file_name = (char *)poptGetArg(poptCtx);
*files = g_slist_append(*files, in_file_name);
if (*in_file_name != '\0')
*files = g_slist_append(*files, in_file_name);
......@@ -27,6 +27,7 @@
#include "color_area.h"
#include "attributes.h"