Creating pixmaps using the Fetchiconliteral function
Here's a problem I have trying to work with pixmaps. First, let me
give some background. I'm working with X/Motif in an ADA environment.
What I want to do is create a XmPushbutton widget that has the
possibility of twelve pixmaps containing symbolic shapes and colors to
define a state of an object that the pushbutton represents. In my
application program I have code that looks at status information to
determine the pixmap that I want then sets the backgroundpixmap
attribute of the pushbutton using the SetValues function.
I created UIL files using the export icon function to define the pixel
map that I want to represent the symbolic shape and colors for each of
the icon literals and processed them using the UIL compiler, creating
UID files with seemingly no problems. Reviewing a hexadecimal dump of
the file(s) created (8192 bytes each) seems to look OK. The pixmap is
there along with the color table and the name of the icon object
appears in the resource table.
At run time, I create the UID hierarchy containing the names of the UID
files that specify all the icon literals using Mrm.Operhierarchy. This
function call returns with a successful status. I call the function
Mrm.Fetchiconliteral that is supposed to retrieve an exported icon.
All the required arguments to the function call look to be correct.
However, when the fetchiconliteral function is called to create the
first X pixmap value it crashes the application program. Using the
APEX Debugger, the error message(s) listed are:
"Invalid argument: seeking to 03c0[read]in address space[Unix errno:
could not read -1 out of 4 bytes from 03c0
process received signal "Segmentation fault"
Segmentation Violation (SIGSEGV) code: 1
stopped in _BAD_ADDR: 03c0
at 03c0: halt
If the program is run in APEX without the Debugger capability, the
error generated is a STORAGE ERROR.
Does anybody out there have any ideas as to what may be wrong. Any
help would be appreciated.