1. 04 Oct, 2014 1 commit
    • Hans Breuer's avatar
      [warningectomy] implicit conversion from enumeration type DiaSvgLineDefaults · 9c6a0d88
      Hans Breuer authored
      Actually a design change: formerly we were relying on weak typing of enums,
      i.e. assigning values from the wrong enum to e.g. to type 'LineJoin'. Now
      *_DEFAULT variants are part of the main enum, e.g LineJoin and has to be
      handled explicitely on the consumer level, here mostly renderers.
      
      Removes the following warnings:
      
      dia_svg.c:71:56: warning: implicit conversion from enumeration type 'enum DiaSvgLineDefaults' to different enumeration type 'LineCaps' [-Wenum-conversion]
        gs->linecap = parent_style ? parent_style->linecap : DIA_SVG_LINECAPS_DEFAULT;
                    ~                                        ^~~~~~~~~~~~~~~~~~~~~~~~
      dia_svg.c:72:58: warning: implicit conversion from enumeration type 'enum DiaSvgLineDefaults' to different enumeration type 'LineJoin' [-Wenum-conversion]
        gs->linejoin = parent_style ? parent_style->linejoin : DIA_SVG_LINEJOIN_DEFAULT;
                     ~                                         ^~~~~~~~~~~~~~~~~~~~~~~~
      dia_svg.c:73:60: warning: implicit conversion from enumeration type 'enum DiaSvgLineDefaults' to different enumeration type 'LineStyle' [-Wenum-conversion]
        gs->linestyle = parent_style ? parent_style->linestyle : DIA_SVG_LINESTYLE_DEFAULT;
                      ~                                          ^~~~~~~~~~~~~~~~~~~~~~~~~
      dia_svg.c:484:19: warning: implicit conversion from enumeration type 'enum DiaSvgLineDefaults' to different enumeration type 'LineJoin' [-Wenum-conversion]
          s->linejoin = DIA_SVG_LINEJOIN_DEFAULT;
                      ~ ^~~~~~~~~~~~~~~~~~~~~~~~
      dia_svg.c:496:18: warning: implicit conversion from enumeration type 'enum DiaSvgLineDefaults' to different enumeration type 'LineCaps' [-Wenum-conversion]
          s->linecap = DIA_SVG_LINECAPS_DEFAULT;
                     ~ ^~~~~~~~~~~~~~~~~~~~~~~~
      dia_svg.c:694:17: warning: implicit conversion from enumeration type 'enum DiaSvgLineDefaults' to different enumeration type 'LineStyle' [-Wenum-conversion]
              s->linestyle = DIA_SVG_LINESTYLE_DEFAULT;
                           ~ ^~~~~~~~~~~~~~~~~~~~~~~~~
      shape_info.c:121:32: warning: comparison of constant -1 with expression of type 'Alignment' is always false [-Wtautological-constant-out-of-range-compare]
            if (el->text.s.alignment == -1)
                ~~~~~~~~~~~~~~~~~~~~ ^  ~~
      shape_info.c:911:2: warning: implicit conversion from enumeration type 'enum DiaSvgLineDefaults' to different enumeration type 'LineCaps' [-Wenum-conversion]
              DIA_SVG_LINECAPS_DEFAULT, DIA_SVG_LINEJOIN_DEFAULT, DIA_SVG_LINESTYLE_DEFAULT, 1.0
              ^~~~~~~~~~~~~~~~~~~~~~~~
      shape_info.c:911:28: warning: implicit conversion from enumeration type 'enum DiaSvgLineDefaults' to different enumeration type 'LineJoin' [-Wenum-conversion]
              DIA_SVG_LINECAPS_DEFAULT, DIA_SVG_LINEJOIN_DEFAULT, DIA_SVG_LINESTYLE_DEFAULT, 1.0
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
      shape_info.c:911:54: warning: implicit conversion from enumeration type 'enum DiaSvgLineDefaults' to different enumeration type 'LineStyle' [-Wenum-conversion]
              DIA_SVG_LINECAPS_DEFAULT, DIA_SVG_LINEJOIN_DEFAULT, DIA_SVG_LINESTYLE_DEFAULT, 1.0
                                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
      custom_object.c:926:26: warning: comparison of constant 'DIA_SVG_LINECAPS_DEFAULT' (20) with expression of type 'LineCaps' is always false [-Wtautological-constant-out-of-range-compare]
        if ((el->any.s.linecap == DIA_SVG_LINECAPS_DEFAULT && (*cur_caps) != LINECAPS_BUTT) ||
             ~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~
      custom_object.c:928:39: warning: comparison of constant 'DIA_SVG_LINECAPS_DEFAULT' (20) with expression of type 'LineCaps' is always true [-Wtautological-constant-out-of-range-compare]
            (*cur_caps) = (el->any.s.linecap!=DIA_SVG_LINECAPS_DEFAULT) ?
                           ~~~~~~~~~~~~~~~~~^ ~~~~~~~~~~~~~~~~~~~~~~~~
      custom_object.c:932:26: warning: comparison of constant 'DIA_SVG_LINEJOIN_DEFAULT' (20) with expression of type 'LineJoin' is always false [-Wtautological-constant-out-of-range-compare]
        if ((el->any.s.linejoin==DIA_SVG_LINEJOIN_DEFAULT && (*cur_join)!=LINEJOIN_MITER) ||
             ~~~~~~~~~~~~~~~~~~^ ~~~~~~~~~~~~~~~~~~~~~~~~
      custom_object.c:934:38: warning: comparison of constant 'DIA_SVG_LINEJOIN_DEFAULT' (20) with expression of type 'LineJoin' is always true [-Wtautological-constant-out-of-range-compare]
          (*cur_join) = (el->any.s.linejoin!=DIA_SVG_LINEJOIN_DEFAULT) ?
                         ~~~~~~~~~~~~~~~~~~^ ~~~~~~~~~~~~~~~~~~~~~~~~
      custom_object.c:938:28: warning: comparison of constant 'DIA_SVG_LINESTYLE_DEFAULT' (20) with expression of type 'LineStyle' is always false [-Wtautological-constant-out-of-range-compare]
        if ((el->any.s.linestyle == DIA_SVG_LINESTYLE_DEFAULT &&
             ~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~
      custom_object.c:940:40: warning: comparison of constant 'DIA_SVG_LINESTYLE_DEFAULT' (20) with expression of type 'LineStyle' is always true [-Wtautological-constant-out-of-range-compare]
          (*cur_style) = (el->any.s.linestyle!=DIA_SVG_LINESTYLE_DEFAULT) ?
                          ~~~~~~~~~~~~~~~~~~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~
      svg-import.c:468:25: warning: comparison of constant 'DIA_SVG_LINESTYLE_DEFAULT' (20) with expression of type 'LineStyle' is always true [-Wtautological-constant-out-of-range-compare]
            if (gs->linestyle != DIA_SVG_LINESTYLE_DEFAULT)
                ~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~
      svg-import.c:524:24: warning: comparison of constant 'DIA_SVG_LINEJOIN_DEFAULT' (20) with expression of type 'LineJoin' is always true [-Wtautological-constant-out-of-range-compare]
            if (gs->linejoin != DIA_SVG_LINEJOIN_DEFAULT)
                ~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~
      svg-import.c:530:23: warning: comparison of constant 'DIA_SVG_LINECAPS_DEFAULT' (20) with expression of type 'LineCaps' is always true [-Wtautological-constant-out-of-range-compare]
            if (gs->linecap != DIA_SVG_LINECAPS_DEFAULT)
                ~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~
      9c6a0d88
  2. 31 Jan, 2014 2 commits
  3. 01 Jan, 2014 1 commit
  4. 04 Aug, 2013 2 commits
    • Hans Breuer's avatar
      svg: initial support for CSS style for svg-import · 9705ca30
      Hans Breuer authored
      The style is a applied to all the basic objects as before, but now
      it can come from a style block, with keys tag.class#id and all
      variations. CSS styled files will now be much closer to the intent
      after loading, but CSS styling is also quite expensive for two reasons:
       - we have to try all the variations of tag.class#id to find if
         there actually is some style (unavoidable)
       - we parse a referenced over and over again (because that was the
         easiest way to get it working)
      See comment on _css_parse_style for major things missing.
      9705ca30
    • Hans Breuer's avatar
      svg: split style string parsing to it's own function · 7e766114
      Hans Breuer authored
      Introduce dia_svg_parse_style_string() - cut and paste from
      the implmentation withing dia_svg_parse_style()
      7e766114
  5. 20 Jul, 2013 1 commit
  6. 03 Oct, 2012 1 commit
    • Hans Breuer's avatar
      svg: extend dia_svg_parse_path() to support multiple move-to · 1541c6a4
      Hans Breuer authored
      The SVG importer just turns these into 'Standard - Path' when
      necessary. This gives almost perfect round-trip with render-test
      saved by cairo.
      
      The Shape import works as before, i.e. it is splitting the
      multiple move-to into single drawing operations as before.
      1541c6a4
  7. 23 Jun, 2012 1 commit
    • Hans Breuer's avatar
      SVG import fixes · 6d717afa
      Hans Breuer authored
       - _parse_color(): the last else branch was not using the separated
         color string leading to Pango not parsing the color correctly
       - a SVG path with only a move-to at the start is supposed to create
         implicit line-to [SVG11 8.3.2]
       - introduce dia_svg_parse_color() for later use
      6d717afa
  8. 07 Aug, 2011 1 commit
    • Hans Breuer's avatar
      svg: retain current point over path split · 71090b44
      Hans Breuer authored
      SVGs with relative movement produced wrong results, when that
      path was split (e.g. car.svg from Inkscape examples). Now the
      current_point is retained across the splitting loop.
      
      Slightly related: handle a second move command directly after
      the initial one gracefully (there are too many borked SVG generators;))
      71090b44
  9. 03 Apr, 2011 1 commit
  10. 12 Sep, 2010 1 commit
  11. 08 Sep, 2007 1 commit
    • Hans Breuer's avatar
      based on analysis and patch by Dov Grobgeld the values written to SVGs are · e7ec1646
      Hans Breuer authored
      2007-09-08  Hans Breuer  <hans@breuer.org>
      
      	* lib/diasvgrenderer.[ch] plug-ins/shape/shape-export.c
      	  plug-ins/svg/render_svg.c : based on analysis and patch by
      	Dov Grobgeld the values written to SVGs are now scaled up, because
      	many SVG interpreters don't cope very well with small values.
      	The overall size of the image is kept by writing with and height in cm 
      	but the viewBox scaled like the values in the file.
      	For the Shape export the scale value is kept at 1.0 to avoid breaking
      	Dia's Shape/SVG consumption. Fixes bug #316590
      	
      	* lib/dia_svg.[ch](dia_svg_parse_style) : allow to pass in user_scale	
      	* plug-ins/svg/svg-import.c : implment some unit awareness and use it 
      	to scale the input to Dia's internal cm. Adapt the user_scale with the
      	viewBox as explained above. This not only gives almost correct 
      	round-trip with Dia's own SVG writing, but also works better for the
      	general case.
      	* objects/custom/shape_info.c : adapt to API change
      
      
      svn path=/trunk/; revision=3772
      e7ec1646
  12. 13 Mar, 2005 1 commit
    • Hans Breuer's avatar
      s/DiaSvgGraphicStyle/DiaSvgStyle/, added and use convenience functions · e39cdcfd
      Hans Breuer authored
      2005-03-13  Hans Breuer  <hans@breuer.org>
      
      	* lib/dia_svg.[hc] objects/custom/shape_info.[hc] plug-ins/svg/svg-import.c :
      	s/DiaSvgGraphicStyle/DiaSvgStyle/, added and use convenience functions
      	dia_svg_style_copy(), dia_svg_style_init()
      
      	* objects/custom/shape_info.c : use dia_svg_parse_path() from lib/ (it got
      	moved out of this)
      
      	* lib/dia_svg.c(dia_svg_parse_path) : also handle style properties which are
      	not wrapped in the style attribute
      
      	* plug-ins/svg/svg-import.c : implement nested group handling and style
      	'style inheritance'. Still no transformations, no <image/>, no <style/>
      	<defs/>...
      
      	* plug-ins/svg/svg-import.c(import_svg) : use message_warning instead of g_warning,
      	the latter is for programmers.
      	Also be more tolerant if the document root namespace is not 'svg'. If the svg
      	namespace is defined in the file search for the top node including svg. This
      	allows us to re-read the svg part of our own shape format.
      
      	* lib/libdia.def : there is no give_focus_to_object
      	* app/textedit.c : still no C99,  aka. error C2275: 'Focus' : illegal use of this
      	type as an expression
      
      	* lib/geometry. c : use G_IMPLEMENT_INLINES
      	* lib/libdia.def : export point_get_perp (used by xfig plug-in)
      
      	* app/textedit.c(textedit_end_edit) : don't crash if the display is already
      	gone when trying to remove the focus
      
      	* plug-ins/cairo/diacairo.c : CAIRO_HAS_WIN32_SURFACE does not any longer mean
      	it has *my* Cairo Win32 Backend. [The official one isn't useful for the use
      	case of this plug-in, i.e. producing output files]
      e39cdcfd
  13. 06 Mar, 2005 1 commit
    • Hans Breuer's avatar
      avoid "assignment within conditional expression" and handle -L for the · 392d93b2
      Hans Breuer authored
      2005-03-06  Hans Breuer  <hans@breuer.org>
      
      	* app/app_procs.c : avoid "assignment within conditional expression"
      	and handle -L for the GOption case as well.
      
      	* lib/widget.c : strchr() does not return -1 on not found but NULL;
      	avoids widgets.c(307) : error C4047: '!=' : 'char *' differs in levels of
      	indirection from 'const int '
      
      	* lib/diasvgenderer.c(draw_arc|fill_arc) : finally correct sweep and
      	large_arc, thus produce correct arc output (like diasvg.py does;),
      	fixes bug #144401
      
      	* lib/dia_svg.[hc](dia_svg_parse_path) : new function copied and adapted
      	from objects/custom/shape_info.c to be shared with object/custom and
      	plug-in/svg -> finally the C based svg-import reads pathes again.
      	Added arc parsing while I was there, which fixes bug #169191
      	* objects/custom/shape_info.c(parse_path) :
      	* plug-ins/svg/svg-import : reuse above function
      	Also fix the "root element was 'svg' -- expecting 'svg'" bug #108502.
      	But in general this does only support a small subset of what is
      	possible in SVG.
      392d93b2
  14. 12 Oct, 2002 1 commit
    • Hans Breuer's avatar
      [decrease inter-plug-in-dependencies] · 920c6528
      Hans Breuer authored
      2002-10-12  Hans Breuer  <hans@breuer.org>
      
      	[decrease inter-plug-in-dependencies]
      
      	* objects/custom/shape_info.[hc] : move parse_style()
      	to lib/dia_svg.[hc] as dia_svg_parse_style(); Namespace
      	the related structs and constants.
      	* objects/custom/custom_object.c : reflect namespace
      	changes
      
      	* lib/dia_svg.[hc] : new files
      	* lib/makefile.msc lib/Makefile.am : add new files
      	* lib/libdia.def : updated externals
      
      	* plug-ins/svg/svg-import.c : use dia_svg_parse_style()
      
      	* plug-ins/svg/svg.c : enable svg import for win32 (and
      	probably for other non ELF builds)
      
      	* plug-ins/makefile.msc : enable svg import
      920c6528
  15. 08 Oct, 2002 1 commit
  16. 18 Jul, 2001 1 commit
  17. 11 Jun, 2001 1 commit
    • Cyrille Chepelov's avatar
      moved the definition of TextAttributes to sort #include order troubles. · c1e7fbcb
      Cyrille Chepelov authored
      	* lib/textattr.h(NEW): moved the definition of TextAttributes to
      	sort #include order troubles. #included by lib/text.h, so there is no
      	impact outside lib/.
      	* lib/properties.[ch]: added support for CONNPOINT_LINE and
      	(nonvisible) TEXT properties.
      
      	* objects/GRAFCET/action.c:
      	* objects/GRAFCET/vergent.c: dropped lazyprops for standard
      	properties.
      
      	* objects/GRAFCET/boolequation.[ch]: audited for UTF-8
      
      	* lib/fonts.c: some hardening (mostly g_assert())
      c1e7fbcb
  18. 06 Mar, 2001 1 commit
    • Kjartan Maraas's avatar
      Place comment around text after #endif. #include <string.h>. #include · 230009e2
      Kjartan Maraas authored
      2001-03-06  Kjartan Maraas  <kmaraas@gnome.org>
      
      	* app/grid.h: Place comment around text after #endif.
      	* lib/bezier_conn.c: #include <string.h>.
      	* lib/beziershape.c: #include <string.h>.
      	* lib/connpoint_line.h: Comment after #endif.
      	* lib/dia_dirs.c: #include <string.h>.
      	* lib/element.c: Same.
      	* lib/lazyprops.c: #include <config.h> and "intl.h".
      	* lib/lazyprops.h: Comment out text after #endif.
      	* lib/neworth_conn.c: #include <string.h>
      	* lib/orth_conn.c: Same here.
      	* lib/poly_conn.c: Here too.
      	* lib/polyshape.c: And here.
      	* lib/properties.c: Remove #include "intl.h" from here and add
      	an array of static strings to work around bug in gettext that
      	makes it miss strings in a #define body.
      	* objects/GRAFCET/action_text_draw.h: Comment out text after #endif.
      	* objects/GRAFCET/boolequation.h: Same here.
      	* objects/chronogram/chronoline_event.h: Add prototype for
      	destroy_cle().
      230009e2
  19. 26 Jul, 2000 1 commit
    • James Henstridge's avatar
      i2000-07-26 James Henstridge <james@daa.com.au> · 7adc38d6
      James Henstridge authored
      	* plug-ins/dxf/dxf-export.c: updates from Steffen to fix bug #18677
      
      	* app/menus.c: remove edit grid menu item.
      
      	* app/commands.[ch] (view_edit_grid_callback): removed.
      
      	* app/display.c (new_display): don't initialise removed Grid members.
      
      	* app/grid.c: remove unused functions.
      
      	* app/grid.h: remove dialog related stuff from Grid structure.
      	Remove prototypes for dialog functions.
      
      	* app/menus.c: add to menus
      
      	* app/commands.[ch] (view_diagram_properties_callback): new command
      	for showing the diagram properties dialog.
      
      	* app/dia-props.[ch]: a new diagram properties dialog.  To replace
      	the edit grid dialog.
      7adc38d6
  20. 25 Jul, 2000 1 commit
    • James Henstridge's avatar
      as the grid setting is stored with the diagram, update all displays when a · e599a3ba
      James Henstridge authored
      2000-07-25  James Henstridge  <james@daa.com.au>
      
      	* app/grid.c (grid_x_update):
      	(grid_y_update): as the grid setting is stored with the diagram,
      	update all displays when a change is made.
      
      	* app/modify_tool.c (modify_motion): use new snap_to_grid sig.
      
      	* app/create_object.c (create_object_button_press):
      	(create_object_motion): use new snap_to_grid signature.
      
      	* app/grid.c (grid_draw): use the grid settings in the DiagramData,
      	and handle invisible grid lines.
      	(snap_to_grid): use new grid settings.  Also changed signature to
      	take a DDisplay rather than Grid pointer.
      	(grid_show_dialog): get the defaults from the correct place.
      
      	* app/display.c (new_display): do not set ddisp->grid.width_[xy].
      
      	* app/diagram.c (new_diagram): set the grid size defaults from the
      	user preferences.
      
      	* app/load_save.c (diagram_data_save): save grid and guide info to
      	diagram file.
      	(diagram_data_load): add guide and grid load support.
      
      	* lib/diagramdata.c (new_diagram_data): set the new DiagramData
      	members.
      
      	* lib/diagramdata.h: add members to DiagramData for grid and guide
      	settings.
      e599a3ba
  21. 24 Jun, 2000 1 commit
    • James Henstridge's avatar
      same here. · d329c92d
      James Henstridge authored
      2000-06-24  James Henstridge  <james@daa.com.au>
      
      	* objects/standard/beziergon.c (beziergon_copy): same here.
      
      	* objects/standard/polygon.c (polygon_copy): copy the fill colour
      	as well.
      
      	* app/undo.h:
      	* app/tool.h (tool_options_dialog_show):
      	* app/scroll_tool.h (free_scroll_tool):
      	* app/render_svg.h:
      	* app/render_libart.h (renderer_libart_copy_to_window):
      	* app/render_gdk.h (renderer_gdk_copy_to_window):
      	* app/properties.h (properties_hide_if_shown):
      	* app/preferences.h (prefs_load):
      	* app/object_ops.h:
      	* app/modify_tool.h (free_modify_tool):
      	* app/magnify.h (free_magnify_tool):
      	* app/linewidth_area.h (linewidth_area_create):
      	* app/layer_dialog.h:
      	* app/handle_ops.h (handle_is_clicked):
      	* app/group.h:
      	* app/grid.h (grid_destroy_dialog):
      	* app/defaults.h (defaults_show):
      	* app/cut_n_paste.h (cnp_exist_stored_objects):
      	* app/create_object.h (free_create_object_tool):
      	* app/connectionpoint_ops.h (diagram_unconnect_selected):
      	* app/commands.h:
      	* app/color_area.h (color_area_create):
      	* app/app_procs.h (app_is_embedded): remove extern keyword from
      	function prototypes.
      
      	* lib/text.h:
      	* lib/sheet.h (load_all_sheets):
      	* lib/render_store.h:
      	* lib/render_object.h (render_object_load):
      	* lib/polyshape.h (polyshape_closest_segment):
      	* lib/poly_conn.h (polyconn_closest_segment):
      	* lib/orth_conn.h:
      	* lib/object.h:
      	* lib/objchange.h (new_object_state_change):
      	* lib/neworth_conn.h (neworthconn_add_segment):
      	* lib/message.h (message_error):
      	* lib/lazyprops.h:
      	* lib/geometry.h:
      	* lib/font.h (font_descent):
      	* lib/focus.h (remove_focus):
      	* lib/element.h:
      	* lib/diagramdata.h:
      	* lib/dia_xml.h (data_add_composite):
      	* lib/dia_image.h:
      	* lib/connpoint_line.h:
      	* lib/connection.h (connection_move_handle):
      	* lib/color.h:
      	* lib/attributes.h (attributes_set_default_line_style):
      	* lib/arrows.h (arrow_draw): remove extern keyword from function
      	definitions.  It is not required for functions.
      
      	* plug-ins/dxf/Makefile.am (INCLUDES):
      	* plug-ins/pstricks/Makefile.am (INCLUDES):
      	* plug-ins/cgm/Makefile.am (INCLUDES):
      	* objects/SADT/Makefile.am (INCLUDES):
      	* objects/chronogram/Makefile.am (INCLUDES):
      	* objects/GRAFCET/Makefile.am (INCLUDES):
      	* objects/flowchart/Makefile.am (INCLUDES):
      	* objects/sybase/Makefile.am (INCLUDES):
      	* objects/FS/Makefile.am (INCLUDES):
      	* objects/standard/Makefile.am (INCLUDES):
      	* objects/network/Makefile.am (INCLUDES):
      	* objects/UML/Makefile.am (INCLUDES): same here.
      
      	* objects/ER/Makefile.am: changed inclusion of some macros to
      	variables.
      
      	* lib/plug-ins.c (dia_register_plugins_in_dir): use a few defines to
      	handle the plug in extension, rather than have all the #ifdef's in
      	the code.
      d329c92d
  22. 23 Aug, 1999 1 commit
    • Alexander Larsson's avatar
      Generate rectangle with the union of the damaged regions. This is used to · 8e3b01c6
      Alexander Larsson authored
      1999-08-23  Alexander Larsson  <alla@lysator.liu.se>
      
              * app/display.[ch]:
      	Generate rectangle with the union of the damaged regions.
      	This is used to optimize the grid paint and the object rendering.
      	display_render_pixmap passes this info to grid_draw() and data_render().
      
      	* app/grid.[ch]:
      	grid_draw doesn't draw grid lines outside of damaged rectangle.
      	Sets dashlength when drawing non-solid grid.
      
      	* lib/diagramdata.[ch]:
      	data_render() and layer_render() takes an optional damaged rectangle
      	argument. No objects not intersecting this are drawn.
      
      	* app/diagram.c:
      	Fix warning.
      	Call data_render with NULL update rectangle.
      8e3b01c6
  23. 14 Jan, 1999 1 commit
  24. 31 Aug, 1998 1 commit
  25. 03 Jan, 1997 1 commit