aboutsummaryrefslogtreecommitdiff
path: root/vendor/x11iraf/obm/OBM.revs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/x11iraf/obm/OBM.revs')
-rw-r--r--vendor/x11iraf/obm/OBM.revs350
1 files changed, 350 insertions, 0 deletions
diff --git a/vendor/x11iraf/obm/OBM.revs b/vendor/x11iraf/obm/OBM.revs
new file mode 100644
index 00000000..4ed6b3cc
--- /dev/null
+++ b/vendor/x11iraf/obm/OBM.revs
@@ -0,0 +1,350 @@
+
+obm/marker.c:markerGetVertices() MF001
+ When called without specifying the number of points the for loop
+ wouldn't execute and so no points were being returned. Changed to
+ loop over the ngot value to return all points found by the widget
+ code. (7/14/98)
+
+obm/marker.c:markerGetVertices() MF002
+ Change the inner while loop to use *op to avoid infinite loop when
+ returning points. (7/14/98)
+
+obm/marker.c:markerGetRegion() MF003
+ Change the inner while loop to use *op to avoid infinite loop
+ causing getRegion to hang for polygon markers. (7/29/98)
+
+obm/ObmW/Gterm.c:GtRefreshMapping() MF004
+obm/ObmW/Gterm.c:refresh_source()
+obm/ObmW/Gterm.c:refresh_destination()
+obm/ObmW/Gterm.c:GetCachedXImage() +
+obm/ObmW/Gterm.c:DestroyCachedXImage() +
+obm/ObmW/Gterm.c:NewCachedXImage() +
+ Merged in image cache code from SAORD for speeding up the magnifier
+ marker. This doesn't appear to have any major impact on the memory
+ requirements, but still it can be disabled via a #define CacheXImage
+ at the top of the file. Corresponds to SAOMOD_CACHE (7/31/98)
+
+obm/ObmW/Gterm.c:GtExtractPixmap() MF005
+ Added a missing GtermWidget arg to GtDestroyRaster call (7/31/98)
+
+obm/ObmW/Gterm.c:GtExtractPixmap() MF006
+obm/ObmW/Gterm.c:GtInsertPixmap()
+ Added a missing RasterDepth arg to GtCreateRaster call (7/31/98)
+
+obm/ObmW/Gterm.c:GtCopyRaster() MF007
+ Changed declaration for sv_mp, p_mp from Mapping to 'struct mapping'
+ so the agree with argument declaration type. Pre- viously routines
+ were being called with struct mapping ** instead of struct mapping *
+ (7/31/98)
+
+obm/ObmW/Gterm.c:Destroy() MF008
+ Changed arg to GtRasterInit from 'gw' to 'w' so types agree.
+ (7/31/98)
+
+obm/ObmW/Gterm.c:gm_refocus() MF009
+ Added an event type. This was the SAOMOD_PURIFY change, seemed
+ harmless.
+
+obm/ObmW/Gterm.c:M_set() MF010
+ Removed XtArgVal cast of arg 2 for GmSetAttribute to agree with
+ function declaration.
+
+obm/ObmW/Gterm.c:GtSetMapping() MF011
+ Not sure I should have changed this, but Eric claims it fixes a bug
+ although he can't remember the details. SAOMOD_BUG.
+
+obm/ObmW/Gterm.c:Initialize() MF012
+ Added an initialization for gterm.n_wmWindows. According to Eric
+ this was done to fix a segvio that was never completely understood.
+ Even though the procedure doesn't initialize the variable it appears
+ to be properly set the first time the window gets a focus request so
+ the problem must be elsewhere, this seemed harmless so it was added
+ anyway. SAOMOD_MAYBE_FOCUS
+
+obm/ObmW/Gterm.c:GmSetVertices() MF013
+ Changed the test to be an inequality rather than a greater than.
+ What would happen is that if a call was made with fewer points than
+ currently in the struct the gm->npoints value would be wrong. (e.g.
+ polygon markers are initialized with 4 points in a unit box, creating
+ a triangle marker causes a getVertices OBM call to return the wrong
+ number of points).
+
+obm/ObmW/Gterm.c:gm_select() MF014
+obm/ObmW/Gterm.c:gm_circ_init() MF015
+obm/ObmW/Gterm.c:gm_circ_updatePolygon() MF015
+obm/ObmW/Gterm.c:gm_elip_init() MF015
+obm/ObmW/Gterm.c:gm_elip_updatePolygon() MF015
+ Two connected bugs: The symptom was that when changing a marker
+ back and forth between shapes, e.g. a rect and a circle, the marker
+ would lose the ability to determine focus when the mouse was moved
+ into it when going from a rect->circle->rect. The first bug was
+ that the value of ptop in gm_select() was pointing out of bounds
+ for the point array. Initially this would be a zero point and the
+ algorithm would coincidentally trap this and exit as expected, but
+ when you go from a circle back to a rect the point array still con-
+ tains the circle vertices so the algorithm was checking an invalid
+ line segment and finding a second crossing point and thus failing.
+ When ptop was set to point at the last element correctly the circle
+ marker suddenly lost focus: this was because the polygon points
+ computed for a circle is already closed, the updatePolygon and init
+ routines were defining an extra point to close the poly which wasn't
+ needed, in gm_select this produced another erroneous crossing
+ causing the selection to fail. Modified to use only GM_NPTSCIRCLE
+ points.
+
+obm/widget.c:widgetGet() MF016
+obm/widget.c:widgetGetFontName() + MF016
+ To help with finding portable font settings I added some new code
+ to return an XLFD font string allowing the user to now do a "get
+ font" on a widget and return a readable font string.
+
+obm/ObmW/Gterm.c:gm_elip_updatePolygon() MF017
+ The ellipse vertices were being calculated with too few points
+ causing a "stray" line segment when drawing a rotated ellipse.
+ Connected to MF015
+
+obm/ObmW/Gterm.c:GmSetVertices() MF018
+ When a polygon marker is created the pgon_points array is init-
+ ialized to a unit box, this array isn't updated with a setVertices
+ call later so when the marker visibility is turned on the marker
+ still appears as the unit box.
+
+obm/ObmW/Gterm.c: MF019
+ Big change involving the rotation of markers: Previously when a
+ marker was rotated by grabbing a knot the rotation angle would
+ be the angle of the knot being used. This means that a square
+ marker with an initial zero rotation would suddenly have a rot-
+ angle of 45 if the user grabbed and then released the upper-right
+ corner, but the marker is still drawn at an angle that looks close
+ to zero. This could be corrected once the button is released but
+ not without adding another procedure (or by muddling up the markpos
+ procedure) and requiring it to be called on a BtnUp event. Rot-
+ ations were also defined in a clockwise direction and angles had
+ to be specified in radians.
+ The changes made are that 1) angles are now read/written by
+ the GUI in (a more natural) degrees, angles are converted inter-
+ nally for computation. 2) Rotation is now defined such that zero
+ degrees is to the right, 90 degrees is up. 3) Marker rotation is
+ done using the model that the user is dragging the zero axis about
+ the marker (x,y) pos. When the rotation is begun the marker rotates
+ so that the zero axis is pointing at the knot chosen, thereafter the
+ is set as before. This means that w/ a square marker selecting the
+ upper-right knot and releasing would leave the marker drawn at what
+ looks like the correct 45 degrees.
+
+obm/ObmW/Gterm.h: MF020
+obm/ObmW/GtermP.h: MF020
+obm/ObmW/Gterm.c:gm_rotate_indicator() + MF020
+ Added a new 'rotIndicator' marker attribute as an option to draw
+ a little clock-hand indicator showing the previous and current
+ rotation angle. Added a gm_rotate_indicator() procedure.
+
+obm/ObmW/HTML.c: MF021
+ Changed the declaration of the in_anchor_cursor so it's no longer
+ static. Previously repeated invocations of a GUI would cause the
+ cursor to not change shapes when entering an anchor because it was
+ not being initialized properly.
+
+obm/ObmW/Gterm.c:GmSetAttribute() MF022
+obm/ObmW/Gterm.c:GmGetAttribute()
+ Changed the rotangle input to automatically convert from degrees
+ to radians, which is what's used internally. Previously setting
+ any angle would be interpreted initially to be in radians and the
+ resulting display would be wrong. Similarly the output angle was
+ converted from radians to degrees for readability.
+
+obm/ObmW/HTML.c:HTMLAnchorToId() MF023
+ Modified so that internal links can be of the form "name=foo" or
+ "name=#foo".
+
+obm/html.c:htmlIdToPosition() MF024
+obm/html.c:htmlAnchorToPosition()
+obm/html.c:htmlGetHRefs()
+obm/html.c:htmlGetImageSrcs()
+obm/html.c:htmlGetLinks()
+obm/html.c:htmlSearchText()
+ The Tcl_SetVar calls had arguments reversed preventing the result
+ from being returned correctly.
+
+obm/Imakefile MF025
+ Typo was preventing libobm.a from being updated correctly when not
+ building form pure source.
+
+obm/ObmW/HTML.c:setScrollbar() MF026
+ Changed the size of the 'topPosition' arg from Position to int.
+ Position is typedef'd as short and for very long HTML docs the
+ position exceeds the 32K short and you get a negative value which
+ incorrectly positions the scrollbar.
+
+obm/ObmW/Gterm.c:Gm[SG]etVertices() MF027
+ The set/getVertices and getRegions functions were changed so that
+ in the case of a polygon the setVertices call will close the polygon
+ regardless of whether the user has alread done so. To be consitent
+ the 'get' routines will not return the closing point, i.e. N points
+ in and N points out.
+
+obm/ObmW/Gterm.c:gm_circ_updatePolygon() MF028
+ The points array for a circle was being fully populated so when
+ searching through all points you would come across (0,0) values
+ while was throwing off the gm_select routine. Also added an abs()
+ call to the edge detection for safe measure.
+
+obm/ObmW/Gterm.c:Initialize() MF029
+ Added a XSetGraphicsExposures() call to the exposeGC to disable
+ expose events. It was noticed in the CTIO guider project that
+ there was a memory leak in ximtool. The leak was traced to an
+ XCopyArea call in refresh_destination. This was noticed because
+ the application is displaying many thousands of images in an anim-
+ ation sequence. With each refresh an Expose/NoExpose event was being
+ generated which was building up in the event queue (which was never
+ read) at a cost of ~100 bytes each. Adding the call disables the
+ events which are normally on by default.
+
+obm/ObmW/Gterm.c:Initialize() MF030
+ Commented out the XRecolorCursor calls for the idle and busy cursors.
+ There was a problem with xgterm blowing itself away when doing many
+ gflushes in a short time span. This was traced to a buildup of
+ BadCursor errors that eventually hit the limit in xerror() and the
+ program died. It's not clear why this is happening but the benefits
+ of these calls were minimal ....
+
+obm/html.c:htmlSetSelection() MF031
+obm/html.c:htmlSearchText()
+obm/ObmW/HTML.c:HTMLSearchText()
+ Minor bug fixes to the HTML text search code. The searchText routine
+ now will incrementally find the next occurrence of the pattern in the
+ text and wrap around the page if necessary. The start location
+ automatically resets if the pattern changes.
+
+obm/ObmW/Gterm.c MF032
+ Added a return to the blink_cursor() procedure so that when not in
+ ginmode no new timer would be started. This was necessary to avoid
+ having multiple timers running which would apparently make the cursor
+ blink faster and gradually put an increasing load on the process.
+
+obm/ObmP.h MF033
+ Added definitions for the MenuBar widget which was defined but not
+ recognized as an object for receiving messages.
+
+obm/ObmP.h MF034
+obm/obmres.c
+obm/obmres.dat
+obm/widget.c
+obm/ObmW/Tabs.c +
+obm/ObmW/Tabs.h +
+obm/ObmW/TabsP.h +
+obm/ObmW/Gcs.c +
+obm/ObmW/Gcs.h +
+obm/ObmW/Imakefile
+obm/listres/AllWidgets.c
+guidemos/tabs.gui
+ Added a new Tabs widget which creates index tabs on widgets similar to
+ what's seen on many PC configuration panels. Basically each child
+ widget would be something like a Layout/Group or Frame and as each index
+ tab is selected that child is brought to the top and displayed. Each
+ child defines a new 'tabLabel' resource string to give the label to be
+ written to the Tab for that widget. See tabs.gui for an example in the
+ x11iraf$guidemo directory.
+
+obm/ObmW/Gterm.c MF035
+ Added an initialize_mapping for the sv_mp struct in various routines.
+ This was first noticed as a failure in the GtCopyRaster routine which
+ would fail with a "cannot malloc" error because the sv_mp->datalen and
+ sv_mp->update elemets contained garbage. Once the struct was saved
+ GtCopyRaster would subsequently call get_pixel_mapping() which then
+ did the fatal alloc. It was only in GtCopyRaster that the update flag
+ was explicitly set where this would be a problem. (2/29/00)
+
+obm/geom.c MF036
+ Commented out a call to XGetVisualInfo. The results weren't being used
+ and the pointer returned was never freed causing a small memory leak.
+ (3/2/00)
+
+obm/server.c MF037
+obm/ObmW/icon.c
+ Added an XtFree() to free the resource list. Another memory leak.
+ (3/2/00)
+
+obm/ObmW/Label.c MF038
+ Added an XDestroyRegion to free space allocated in the expose call.
+ (3/2/00)
+
+xaw3d/Text.c MF039
+xaw3d/TextTr.c
+ Modified the code to make _XawDefaultTextTranslations a static array
+ rather than one allocated and never freed. Required changes to the
+ array declaration in TextTr.c, and textClassRec definition and
+ ClassInitialize() procedure. (3/2/00)
+
+obm/ObmW/Gterm.c MF040
+ Added an XFree for the visual info struct in get_colormap. (3/2/00)
+
+obm/ObmW/Gterm.c MF041
+ Added a check for raster=0 when setting the logical resolution. This
+ is the fix for the cursor positioning bug where the frame buffer is
+ larger than the screen image. (3/2/00)
+
+obm/Tcl/Imakefile MF042
+ Removed some warning flags requested for Linux. (3/3/00)
+
+obm/ObmW/Gterm.c
+ Removed the comment chars for XRecolorCursor first done for MF030.
+ While these do trigger BadCursor errors these will now be ignored by
+ the xgterm error handler. (4/7/00)
+
+obm/server.c
+ Changed a malloc to a calloc call for the timer struct. Also deleted
+ an XtFree for the callback in serverTimedProc() which would corrupt
+ memory if the timer callback were later deleted. (7/28/00)
+
+obm/ObmP.h
+obm/Obm.c
+ Added support for a new environent variable OBMOBJECTS which will help
+ restrict the messages printed during debugging. For example, it can be
+ set as
+
+ setenv OBMOBJECTS "client imagewin"
+
+ to have OBMDEBUG print only messages for the 'client' and 'imagewin'
+ objects. (8/3/00)
+
+obm/widget.c
+ Added a new 'setTop' command for the Tabs widget that can be used to
+ raise a particular tab from within the GUI. (8/29/00)
+
+obm/server.c
+ Commented out an XtFree() on a static array ('table') (03/05/01)
+
+obm/ObmP.h MF043
+obm/obmres.c
+obm/obmres.dat
+obm/widget.c
+obm/ObmW/ListTree.c +
+obm/ObmW/ListTree.h +
+obm/ObmW/ListTree.h +
+obm/ObmW/Imakefile
+obm/listres/AllWidgets.c
+ Added a new ListTree widget which creates an indented list of items
+ in a user defined hierarchy. Selecting an item "opens" it to reveal
+ lower level lists. The selection callback returns the selected item
+ label, it's level, and a full path of all parent items. The widget
+ can used for things like directory browsers, or organizing documentation
+ into sections, subsections, etc. (8/26/02)
+
+
+obm/ObmP.h
+obm/obmres.c
+obm/obmres.dat
+obm/widget.c
+obm/OBMW/Table.c
+obm/OBMW/Table.h
+obm/OBMW/color.c
+obm/OBMW/TableP.h
+obm/OBMW/Table3d.c
+obm/OBMW/Table3d.h
+obm/OBMW/TableUtil.c
+obm/OBMW/TableUtil.h
+ Added a new Table widget and support code. The Table widget supports a
+ grid layout of data items with col/row selection and cell editing. It
+ is a bit primitive so additional code was added to improve functionality.
+ (09/10/02)