diff options
Diffstat (limited to 'vendor/x11iraf/obm/OBM.revs')
-rw-r--r-- | vendor/x11iraf/obm/OBM.revs | 350 |
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) |