Change MVC getGraphicObjectProperty prototype to avoid static variable referencing. 98/3098/3
Bruno JOFRET [Thu, 3 Feb 2011 12:56:46 +0000 (13:56 +0100)]
Change-Id: I2586943d80f42c5b6fa821180ad2b659a21684b2

177 files changed:
scilab/modules/graphic_objects/includes/Data3D.hxx
scilab/modules/graphic_objects/includes/DataController.hxx
scilab/modules/graphic_objects/includes/DataModel.hxx
scilab/modules/graphic_objects/includes/NgonData.hxx
scilab/modules/graphic_objects/includes/NgonGeneralData.hxx
scilab/modules/graphic_objects/includes/NgonGridData.hxx
scilab/modules/graphic_objects/includes/NgonGridMatplotData.hxx
scilab/modules/graphic_objects/includes/NgonPolylineData.hxx
scilab/modules/graphic_objects/includes/TriangleMeshData.hxx
scilab/modules/graphic_objects/includes/TriangleMeshFecData.hxx
scilab/modules/graphic_objects/includes/getGraphicObjectProperty.h
scilab/modules/graphic_objects/src/cpp/Data3D.cpp
scilab/modules/graphic_objects/src/cpp/NativeGL.cpp
scilab/modules/graphic_objects/src/cpp/NgonData.cpp
scilab/modules/graphic_objects/src/cpp/NgonGeneralData.cpp
scilab/modules/graphic_objects/src/cpp/NgonGridData.cpp
scilab/modules/graphic_objects/src/cpp/NgonGridMatplotData.cpp
scilab/modules/graphic_objects/src/cpp/NgonPolylineData.cpp
scilab/modules/graphic_objects/src/cpp/TriangleMeshData.cpp
scilab/modules/graphic_objects/src/cpp/TriangleMeshFecData.cpp
scilab/modules/graphic_objects/src/cpp/dataModel.cpp
scilab/modules/graphic_objects/src/cpp/getGraphicObjectProperty.cpp
scilab/modules/graphic_objects/src/jni/CallGraphicController.cpp
scilab/modules/graphics/sci_gateway/c/sci_xarc.c
scilab/modules/graphics/sci_gateway/c/sci_xpoly.c
scilab/modules/graphics/sci_gateway/c/sci_xrect.c
scilab/modules/graphics/src/c/Axes.c
scilab/modules/graphics/src/c/BuildObjects.c
scilab/modules/graphics/src/c/CloneObjects.c
scilab/modules/graphics/src/c/CurrentObjectsManagement.c
scilab/modules/graphics/src/c/DrawObjects.c
scilab/modules/graphics/src/c/FeC.c
scilab/modules/graphics/src/c/GetProperty.c
scilab/modules/graphics/src/c/Gray.c
scilab/modules/graphics/src/c/InitObjects.c
scilab/modules/graphics/src/c/Plo2dEch.c
scilab/modules/graphics/src/c/Plo2dn.c
scilab/modules/graphics/src/c/SetProperty.c
scilab/modules/graphics/src/c/axesScale.c
scilab/modules/graphics/src/c/getHandleProperty/get_alignment_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_anti_aliasing_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_arc_drawing_method_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_arrow_size_factor_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_auto_clear_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_auto_dimensionning_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_auto_position_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_auto_resize_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_auto_rotation_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_auto_scale_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_auto_ticks_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_axes_bounds_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_axes_reverse_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_axes_size_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_axes_visible_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_background_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_bar_width_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_box_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_cdata_mapping_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_children_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_clip_box_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_clip_state_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_closed_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_color_flag_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_color_map_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_color_mode_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_color_range_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_cube_scaling_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_data_bounds_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_data_mapping_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_data_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_event_handler_enable_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_event_handler_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_figure_id_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_figure_name_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_figure_position_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_figure_size_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_fill_mode_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_filled_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_font_angle_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_font_color_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_font_foreground_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_font_size_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_font_style_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_foreground_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_format_n_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_fractional_font_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_grid_position_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_grid_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_hidden_axis_color_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_hidden_color_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_immediate_drawing_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_info_message_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_interp_color_mode.c
scilab/modules/graphics/src/c/getHandleProperty/get_interp_color_vector.c
scilab/modules/graphics/src/c/getHandleProperty/get_isoview_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_labels_font_color_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_labels_font_size_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_labels_font_style_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_legend_location_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_line_mode_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_line_style_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_log_flags_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_margins_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_mark_background_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_mark_foreground_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_mark_mode_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_mark_size_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_mark_size_unit_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_mark_style_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_outside_colors_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_parent_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_pixel_drawing_mode_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_pixmap_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_polyline_style_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_position_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_rotation_angles_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_rotation_style_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_sub_tics_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_surface_mode_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_text_box_mode_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_text_box_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_text_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_thickness_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_tics_color_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_tics_direction_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_tics_label_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_tics_segment_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_tics_style_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_tight_limits_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_title_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_triangles_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_type_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_view_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_viewport_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_visible_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_x_label_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_x_location_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_x_shift_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_x_ticks_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_xtics_coord_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_y_label_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_y_location_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_y_shift_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_y_ticks_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_ytics_coord_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_z_bounds_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_z_label_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_z_shift_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_z_ticks_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_zoom_box_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_auto_ticks_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_color_flag_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_data_bounds_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_data_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_grid_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_interp_color_mode_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_interp_color_vector_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_log_flags_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_position_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_sub_tics_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_tics_direction_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_tics_labels_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_title_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_triangles_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_x_label_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_x_shift_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_x_ticks_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_xtics_coord_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_y_label_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_y_shift_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_y_ticks_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_yticks_coord_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_z_label_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_z_shift_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_z_ticks_property.c
scilab/modules/graphics/src/c/sciCall.c
scilab/modules/gui/src/cpp/GetUiobjectTag.cpp

index 9baf15b..001ef52 100644 (file)
@@ -42,7 +42,7 @@ public :
 
     virtual int setDataProperty(int property, void* value, int numElements);
 
-    virtual void* getDataProperty(int property);
+    virtual void getDataProperty(int property, void **_pvData);
 
     virtual void setData(double* data, int numElements) { return; }
 
index 6b82c7b..2c780ab 100644 (file)
@@ -25,14 +25,14 @@ public :
         return DataModel::get()->setGraphicObjectProperty(_pstID, _pstName, _dblValue, numElements);
     }
 
-    static void* getGraphicObjectProperty(char *_pstID, char* _pstName)
+    static void getGraphicObjectProperty(char *_pstID, char* _pstName, void **_pvData)
     {
-        return DataModel::get()->getGraphicObjectProperty(_pstID, _pstName);
+        return DataModel::get()->getGraphicObjectProperty(_pstID, _pstName, _pvData);
     }
 
-    static int* getGraphicObjectIntProperty(char* _pstID, char* _pstName)
+    static void getGraphicObjectIntProperty(char* _pstID, char* _pstName, void **_pvData)
     {
-        return DataModel::get()->getGraphicObjectIntProperty(_pstID, _pstName);
+        return DataModel::get()->getGraphicObjectIntProperty(_pstID, _pstName, _pvData);
     }
 
     static char* createDataObject(char* _pstID, char* _sType)
index add8ee0..3880df9 100644 (file)
@@ -63,7 +63,7 @@ public :
     BOOL setGraphicObjectProperty(char *_pstID, char* _pstName, void* _dblValue, int numElements);
 
     /** Returns a graphic object vector property */
-    void* getGraphicObjectProperty(char *_pstID, char* _pstName);
+    void getGraphicObjectProperty(char *_pstID, char* _pstName, void **_pvData);
 
     /**
      * Returns a graphic object integer property
@@ -72,7 +72,7 @@ public :
      * methods of the different Data classes when integer values are returned)
      * Probably redundant with getGraphicObjectProperty
      */
-    int* getGraphicObjectIntProperty(char *_pstID, char* _pstName);
+    void getGraphicObjectIntProperty(char *_pstID, char* _pstName, void **_pvData);
 
     /** Creates a data object */
     char* createDataObject(char* _pstID, char* _sType);
index b12331e..579b74e 100644 (file)
@@ -55,7 +55,7 @@ public :
     /**
      * Returns the data property
      */
-    void* getDataProperty(int property);
+    void getDataProperty(int property, void **_pvData);
 
     /**
      * Sets the number of n-gons
index 48d2b59..a000bb7 100644 (file)
@@ -36,7 +36,7 @@ private :
     /** The size of the color values array */
     int numColors;
 
-protected : 
+protected :
     /** The coordinates array */
     double* coordinates;
 
@@ -72,7 +72,7 @@ public :
      * @param property the property value
      * @return a pointer to the property
      */
-    void* getDataProperty(int property);
+    void getDataProperty(int property, void **_pvData);
 
     /**
      * Returns the data coordinates array
@@ -132,7 +132,7 @@ public :
     int getNumElements(void);
 
     /**
-     * Sets the number of elements (number of n-gons, 
+     * Sets the number of elements (number of n-gons,
      * number of vertices per n-gon, and number of color values)
      * Resizes the data coordinates array if required, must therefore
      * be called before any setData call.
index 431babe..62c684c 100644 (file)
@@ -89,7 +89,7 @@ public :
      * @param property the property value
      * @return a pointer to the property
      */
-    void* getDataProperty(int property);
+    void getDataProperty(int property, void **_pvData);
 
     /**
      * Returns the grid's x size
index 4e327db..7259a98 100644 (file)
@@ -87,7 +87,7 @@ public :
      * @param property the property value
      * @return a pointer to the property
      */
-    void* getDataProperty(int property);
+    void getDataProperty(int property, void **_pvData);
 
     /**
      * Sets the grid'x and y vectors dimensions
index 74a21f2..9c71aac 100644 (file)
@@ -64,7 +64,7 @@ public :
 
     int setDataProperty(int property, void* value, int numElements);
 
-    void* getDataProperty(int property);
+    void getDataProperty(int property, void **_pvData);
 
     /**
      * Returns the number of elements (number of vertices making up the polyline)
index 75e5d40..265de66 100644 (file)
@@ -80,7 +80,7 @@ public:
      * @param property the property identifier
      * @return a pointer to the data property
      */
-    void* getDataProperty(int property);
+    void getDataProperty(int property, void** _pvData);
 
     /**
      * Returns the number of vertices composing the mesh
index aaebcd4..361c4b6 100644 (file)
@@ -66,7 +66,7 @@ public:
      * @param property the property identifier
      * @return a pointer to the data property
      */
-    void* getDataProperty(int property);
+    void getDataProperty(int property, void **_pvData);
 
     /**
      * Returns the number of index triplets (number of triangles)
index 024afb1..e61c581 100644 (file)
@@ -23,6 +23,6 @@
 ** Specify type expected as parameter for JNI.
 */
 
-GRAPHIC_OBJECTS_IMPEXP void *getGraphicObjectProperty(char *_pstID, char *_pstName, enum _ReturnType_ _returnType );
+GRAPHIC_OBJECTS_IMPEXP void getGraphicObjectProperty(char *_pstID, char *_pstName, enum _ReturnType_ _returnType, void **_pvData);
 
 #endif /* !__GETGRAPHICOBJECTPROPERTY_H__ */
index f4c7508..982c631 100644 (file)
@@ -38,15 +38,15 @@ int Data3D::setDataProperty(int property, void* value, int numElements)
     return 0;
 }
 
-void* Data3D::getDataProperty(int property)
+void Data3D::getDataProperty(int property, void **_pvData)
 {
     if (property == UNKNOWN_DATA_PROPERTY)
     {
-        return NULL;
+        *_pvData = NULL;
     }
     else
     {
-        return NULL;
+        *_pvData = NULL;
     }
 }
 
index 503565c..98158e1 100644 (file)
@@ -9,24 +9,27 @@ extern "C"
 
 void loadGLData(float* buffer, char* id)
 {
-    int size;
-    double* t = (double*) getGraphicObjectProperty(id, __GO_DATA_MODEL_COORDINATES__, jni_double_vector);
-    int* size_p = (int*) getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int);
-    size = (*size_p);
-    
-    for (int i = 0 ; i < size ; i++)
+    int iSize = 0;
+    double* t;
+    getGraphicObjectProperty(id, __GO_DATA_MODEL_COORDINATES__, jni_double_vector, (void**) &t);
+    int* piSize = &iSize;
+    getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**) &piSize);
+
+    for (int i = 0 ; i < iSize ; i++)
     {
       buffer[4*i+0] = t[i];
-      buffer[4*i+1] = t[i + size];
-      buffer[4*i+2] = t[i + 2*size]; 
+      buffer[4*i+1] = t[i + iSize];
+      buffer[4*i+2] = t[i + 2*iSize];
       buffer[4*i+3] = 1.0;
     }
 }
 
 int getGLDataLength(char* id)
 {
-  int* size_p = (int*) getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int);
-  return 4 * (*size_p);
+    int iSize = 0;
+    int *piSize = &iSize;
+    getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**) &piSize);
+    return 4 * iSize;
 }
 
 
index f208727..2602673 100644 (file)
@@ -71,25 +71,19 @@ int NgonData::setDataProperty(int property, void* value, int numElements)
     return 1;
 }
 
-void* NgonData::getDataProperty(int property)
+void NgonData::getDataProperty(int property, void **_pvData)
 {
-    /* Used for now to return the address of a single integer */
-    static int localIntResult;
-
-
     if (property == NUM_GONS)
     {
-        localIntResult = getNumGons();
-        return &localIntResult;
+        ((int *) *_pvData)[0] = getNumGons();
     }
     else if (property == NUM_VERTICES_PER_GON)
     {
-        localIntResult = getNumVerticesPerGon();
-        return &localIntResult;
+        ((int *) *_pvData)[0] = getNumVerticesPerGon();
     }
     else
     {
-        return Data3D::getDataProperty(property);
+        Data3D::getDataProperty(property, _pvData);
     }
 
 }
index a8623e8..2c85992 100644 (file)
@@ -91,7 +91,7 @@ int NgonGeneralData::setDataProperty(int property, void* value, int numElements)
     }
     else if (property == COORDINATES)
     {
-        setData((double*) value, numElements); 
+        setData((double*) value, numElements);
     }
     else if (property == X_COORDINATES)
     {
@@ -117,11 +117,8 @@ int NgonGeneralData::setDataProperty(int property, void* value, int numElements)
     return 1;
 }
 
-void* NgonGeneralData::getDataProperty(int property)
+void NgonGeneralData::getDataProperty(int property, void **_pvData)
 {
-    /* Used for now to return the address of a single integer */
-    static int localIntResult;
-
     if (property == NUM_ELEMENTS_ARRAY)
     {
           /* Not implemented yet */
@@ -129,32 +126,31 @@ void* NgonGeneralData::getDataProperty(int property)
     }
     else if (property == COORDINATES)
     {
-        return getData();
+         *_pvData = getData();
     }
     else if (property == X_COORDINATES)
     {
-        return getDataX();
+         *_pvData = getDataX();
     }
     else if (property == Y_COORDINATES)
     {
-        return getDataY();
+         *_pvData = getDataY();
     }
     else if (property == Z_COORDINATES)
     {
-        return getDataZ();
+         *_pvData = getDataZ();
     }
     else if (property == COLORS)
     {
-        return getColors();
+        *_pvData = getColors();
     }
     else if (property == NUM_COLORS)
     {
-        localIntResult = getNumColors();
-        return &localIntResult;
+        ((int *) *_pvData)[0] = getNumColors();
     }
     else
     {
-        return NgonData::getDataProperty(property);
+        NgonData::getDataProperty(property, _pvData);
     }
 
 }
@@ -207,7 +203,7 @@ void NgonGeneralData::setDataX(double* data, int numElements)
     for (int i = 0; i < numElements; i++)
     {
         xCoordinates[i] = data[i];
-    } 
+    }
 
 }
 
@@ -220,7 +216,7 @@ void NgonGeneralData::setDataY(double* data, int numElements)
     for (int i = 0; i < numElements; i++)
     {
         yCoordinates[i] = data[i];
-    } 
+    }
 
 }
 
index 869ec92..4e39c92 100644 (file)
@@ -129,49 +129,43 @@ int NgonGridData::setDataProperty(int property, void* value, int numElements)
     return 1;
 }
 
-void* NgonGridData::getDataProperty(int property)
+void NgonGridData::getDataProperty(int property, void **_pvData)
 {
-    /* Used for now to return the address of a single integer */
-    static int localIntResult;
-
     if (property == NUM_X)
     {
-        localIntResult = getNumX();
-        return &localIntResult;
+        ((int *) *_pvData)[0] = getNumX();
     }
     else if (property == NUM_Y)
     {
-        localIntResult = getNumY();
-        return &localIntResult;
+        ((int *) *_pvData)[0] = getNumY();
     }
     else if (property == NUM_Z)
     {
-        localIntResult = getNumZ();
-        return &localIntResult;
+        ((int *) *_pvData)[0] = getNumZ();
     }
     else if (property == X_DIMENSIONS)
     {
-        return getXDimensions();
+        *_pvData = getXDimensions();
     }
     else if (property == Y_DIMENSIONS)
     {
-        return getYDimensions();
+        *_pvData = getYDimensions();
     }
     else if (property == X_COORDINATES)
     {
-        return getDataX();
+        *_pvData = getDataX();
     }
     else if (property == Y_COORDINATES)
     {
-        return getDataY();
+        *_pvData = getDataY();
     }
     else if (property == Z_COORDINATES)
     {
-        return getDataZ();
+        *_pvData = getDataZ();
     }
     else
     {
-        return NgonData::getDataProperty(property);
+        NgonData::getDataProperty(property, _pvData);
     }
 
 }
index eb57444..30cc3e5 100644 (file)
@@ -72,22 +72,19 @@ int NgonGridMatplotData::setDataProperty(int property, void* value, int numEleme
     return 1;
 }
 
-void* NgonGridMatplotData::getDataProperty(int property)
+void NgonGridMatplotData::getDataProperty(int property, void **_pvData)
 {
-    /* Used for now to return the address of a single integer */
-    static int localIntResult;
-
     if (property == MATPLOT_BOUNDS)
     {
-        return getBounds();
+        *_pvData = getBounds();
     }
     else if (property == Z_COORDINATES)
     {
-        return getDataZ();
+        *_pvData = getDataZ();
     }
     else
     {
-        return NgonGridData::getDataProperty(property);
+        NgonGridData::getDataProperty(property, _pvData);
     }
 }
 
index ae69555..db29d26 100644 (file)
@@ -10,6 +10,8 @@
  *
  */
 
+#include <iostream>
+
 #include "NgonPolylineData.hxx"
 #include "DataProperties.hxx"
 
@@ -103,7 +105,6 @@ int NgonPolylineData::getPropertyFromName(char* propertyName)
 
 int NgonPolylineData::setDataProperty(int property, void* value, int numElements)
 {
-
     if (property == NUM_ELEMENTS_ARRAY)
     {
         return setNumElementsArray((int*) value);
@@ -144,51 +145,43 @@ int NgonPolylineData::setDataProperty(int property, void* value, int numElements
     return 1;
 }
 
-void* NgonPolylineData::getDataProperty(int property)
+void NgonPolylineData::getDataProperty(int property, void **_pvData)
 {
-    /* Used for now to return the address of a single integer */
-    static int localIntResult;
-
     if (property == X_COORDINATES_SHIFT)
     {
-        return getXCoordinatesShift();
+        *_pvData = getXCoordinatesShift();
     }
     else if (property == Y_COORDINATES_SHIFT)
     {
-        return getYCoordinatesShift();
+        *_pvData = getYCoordinatesShift();
     }
     else if (property == Z_COORDINATES_SHIFT)
     {
-        return getZCoordinatesShift();
+        *_pvData = getZCoordinatesShift();
     }
     else if (property == NUM_ELEMENTS)
     {
-        localIntResult = getNumElements();
-        return &localIntResult;
+        ((int *) *_pvData)[0] = getNumElements();
     }
     else if (property == X_COORDINATES_SHIFT_SET)
     {
-        localIntResult = getXCoordinatesShiftSet();
-        return &localIntResult;
+        ((int *) *_pvData)[0] = getXCoordinatesShiftSet();
     }
     else if (property == Y_COORDINATES_SHIFT_SET)
     {
-        localIntResult = getYCoordinatesShiftSet();
-        return &localIntResult;
+        ((int *) *_pvData)[0] = getYCoordinatesShiftSet();
     }
     else if (property == Z_COORDINATES_SHIFT_SET)
     {
-        localIntResult = getZCoordinatesShiftSet();
-        return &localIntResult;
+        ((int *) *_pvData)[0] = getZCoordinatesShiftSet();
     }
     else if (property == Z_COORDINATES_SET)
     {
-        localIntResult = getZCoordinatesSet();
-        return &localIntResult;
+        ((int *) *_pvData)[0] = getZCoordinatesSet();
     }
     else
     {
-        return NgonGeneralData::getDataProperty(property);
+        NgonGeneralData::getDataProperty(property, _pvData);
     }
 
 }
index fe52600..be2394f 100644 (file)
@@ -141,36 +141,31 @@ int TriangleMeshData::setDataProperty(int property, void* value, int numElements
     return 1;
 }
 
-void* TriangleMeshData::getDataProperty(int property)
+void TriangleMeshData::getDataProperty(int property, void **_pvData)
 {
-    /* Used for now to return the address of a single unsigned integer */
-    static int localUIntResult;
-
     if (property == NUM_VERTICES)
     {
-        localUIntResult = getNumVertices();
-        return &localUIntResult;
+        ((int *)*_pvData)[0] = getNumVertices();
     }
     else if (property == NUM_INDICES)
     {
-        localUIntResult = getNumIndices();
-        return &localUIntResult;
+        ((int *)*_pvData)[0] = getNumIndices();
     }
     else if (property == COORDINATES)
     {
-        return getVertices();
+        *_pvData = getVertices();
     }
     else if (property == INDICES)
     {
-        return getIndices();
+        *_pvData = getIndices();
     }
     else if (property == VALUES)
     {
-        return getValues();
+        *_pvData = getValues();
     }
     else
     {
-        return Data3D::getDataProperty(property);
+        Data3D::getDataProperty(property, _pvData);
     }
 }
 
index 8b0374d..352055f 100644 (file)
@@ -99,23 +99,19 @@ int TriangleMeshFecData::setDataProperty(int property, void* value, int numEleme
     return 1;
 }
 
-void* TriangleMeshFecData::getDataProperty(int property)
+void TriangleMeshFecData::getDataProperty(int property, void **_pvData)
 {
-    /* Used for now to return the address of a single unsigned integer */
-    static int localUIntResult;
-
     if (property == NUM_INDICES)
     {
-        localUIntResult = getNumIndices();
-        return &localUIntResult;
+        ((int *) *_pvData)[0] = getNumIndices();
     }
     else if (property == FEC_TRIANGLES)
     {
-        return getFecTriangles();
+        *_pvData = getFecTriangles();
     }
     else
     {
-        return TriangleMeshData::getDataProperty(property);
+        TriangleMeshData::getDataProperty(property, _pvData);
     }
 
 }
index 3e0f9e6..002ee35 100644 (file)
@@ -35,7 +35,7 @@ BOOL DataModel::setGraphicObjectProperty(char *_pstID, char* _pstName, void* _db
     return returnValue;
 }
 
-void* DataModel::getGraphicObjectProperty(char *_pstID, char* _pstName)
+void DataModel::getGraphicObjectProperty(char *_pstID, char* _pstName, void **_pvData)
 {
     Data3D* dataObject;
     int property;
@@ -44,10 +44,10 @@ void* DataModel::getGraphicObjectProperty(char *_pstID, char* _pstName)
 
     property = dataObject->getPropertyFromName(_pstName);
 
-    return dataObject->getDataProperty(property);
+    dataObject->getDataProperty(property, _pvData);
 }
 
-int* DataModel::getGraphicObjectIntProperty(char *_pstID, char* _pstName)
+void DataModel::getGraphicObjectIntProperty(char *_pstID, char* _pstName, void **_pvData)
 {
     Data3D* dataObject;
     int property;
@@ -58,7 +58,7 @@ int* DataModel::getGraphicObjectIntProperty(char *_pstID, char* _pstName)
 
     property = dataObject->getPropertyFromName(_pstName);
 
-    return (int*) dataObject->getDataProperty(property);
+    dataObject->getDataProperty(property, _pvData);
 }
 
 char* DataModel::createDataObject(char* _pstID, char* _sType)
@@ -95,7 +95,7 @@ char* DataModel::createDataObject(char* _pstID, char* _sType)
     }
     else
     {
-        return NULL; 
+        return NULL;
     }
 
     (*m_dataMap)[std::string(_pstID)] = newObject;
index d9ee0b2..80054ac 100644 (file)
@@ -25,56 +25,70 @@ extern "C"
 
 using namespace org_scilab_modules_graphic_objects;
 
-void *getGraphicObjectProperty(char *_pstID, char *_pstName, _ReturnType_ _returnType)
+void getGraphicObjectProperty(char *_pstID, char *_pstName, _ReturnType_ _returnType, void **_pvData)
 {
     int lenRow;
-    static int localIntResult;
-    static int localBoolResult;
-    static double localDoubleResult;
 
     /* All the Data model properties have the DATA_MODEL prefix */
     if (strncmp(_pstName, __GO_DATA_MODEL__, strlen(__GO_DATA_MODEL__)) == 0)
     {
-        return DataController::getGraphicObjectProperty(_pstID, _pstName);
+        DataController::getGraphicObjectProperty(_pstID, _pstName, _pvData);
+        return;
     }
 
     try {
         switch(_returnType)
         {
         case jni_string :
-            return CallGraphicController::getGraphicObjectPropertyAsString(getScilabJavaVM(), _pstID, _pstName);
+        {
+            *_pvData = CallGraphicController::getGraphicObjectPropertyAsString(getScilabJavaVM(), _pstID, _pstName);
+            return;
+        }
         case jni_string_vector :
-            return CallGraphicController::getGraphicObjectPropertyAsStringVector(getScilabJavaVM(), _pstID, _pstName, &lenRow);
+        {
+            *_pvData = CallGraphicController::getGraphicObjectPropertyAsStringVector(getScilabJavaVM(), _pstID, _pstName, &lenRow);
+            return;
+        }
         case jni_double :
         {
-            localDoubleResult = CallGraphicController::getGraphicObjectPropertyAsDouble(getScilabJavaVM(), _pstID, _pstName);
-            return &localDoubleResult;
+            ((double *)*_pvData)[0] = (double) CallGraphicController::getGraphicObjectPropertyAsDouble(getScilabJavaVM(), _pstID, _pstName);
+            return;
         }
         case jni_double_vector :
-            return CallGraphicController::getGraphicObjectPropertyAsDoubleVector(getScilabJavaVM(), _pstID, _pstName, &lenRow);
+        {
+            *_pvData = CallGraphicController::getGraphicObjectPropertyAsDoubleVector(getScilabJavaVM(), _pstID, _pstName, &lenRow);
+            return;
+        }
         case jni_bool :
         {
-            localBoolResult = (int)CallGraphicController::getGraphicObjectPropertyAsBoolean(getScilabJavaVM(), _pstID, _pstName);
-            return &localBoolResult;
+            ((int *) *_pvData)[0] = (int)CallGraphicController::getGraphicObjectPropertyAsBoolean(getScilabJavaVM(), _pstID, _pstName);
+            return;
         }
         case jni_bool_vector :
-            return CallGraphicController::getGraphicObjectPropertyAsBooleanVector(getScilabJavaVM(), _pstID, _pstName, &lenRow);
+        {
+            *_pvData = CallGraphicController::getGraphicObjectPropertyAsBooleanVector(getScilabJavaVM(), _pstID, _pstName, &lenRow);
+            return;
+        }
         case jni_int :
         {
-            localIntResult = CallGraphicController::getGraphicObjectPropertyAsInteger(getScilabJavaVM(), _pstID, _pstName);
-            return &localIntResult;
+             ((int *)*_pvData)[0] = CallGraphicController::getGraphicObjectPropertyAsInteger(getScilabJavaVM(), _pstID, _pstName);
+            return;
         }
         case jni_int_vector :
-            return CallGraphicController::getGraphicObjectPropertyAsIntegerVector(getScilabJavaVM(), _pstID, _pstName, &lenRow);
-
+        {
+            *_pvData = CallGraphicController::getGraphicObjectPropertyAsIntegerVector(getScilabJavaVM(), _pstID, _pstName, &lenRow);
+            return;
+        }
         default :
-            return NULL;
+           *_pvData = NULL;
+           return;
         }
     }
     catch (std::exception e)
     {
         // If we have an exception, return null to scilab to manage error.
-        return NULL;
+        *_pvData = NULL;
+        return;
     }
 
 }
index 5bd58dd..697778e 100644 (file)
 /* Generated by GIWS (version 1.2.0) */
 /*
 
-Copyright 2007-2008 INRIA
-Copyright 2008-2010 DIGITEO
-
-Author : Sylvestre Ledru & others
-
-This is generated code.
-
-This software is a computer program whose purpose is to hide the complexity
-of accessing Java objects/methods from C++ code.
-
-This software is governed by the CeCILL-B license under French law and
-abiding by the rules of distribution of free software.  You can  use, 
-modify and/ or redistribute the software under the terms of the CeCILL-B
-license as circulated by CEA, CNRS and INRIA at the following URL
-"http://www.cecill.info". 
-
-As a counterpart to the access to the source code and  rights to copy,
-modify and redistribute granted by the license, users are provided only
-with a limited warranty  and the software's author,  the holder of the
-economic rights,  and the successive licensors  have only  limited
-liability. 
-
-In this respect, the user's attention is drawn to the risks associated
-with loading,  using,  modifying and/or developing or reproducing the
-software by the user in light of its specific status of free software,
-that may mean  that it is complicated to manipulate,  and  that  also
-therefore means  that it is reserved for developers  and  experienced
-professionals having in-depth computer knowledge. Users are therefore
-encouraged to load and test the software's suitability as regards their
-requirements in conditions enabling the security of their systems and/or 
-data to be ensured and,  more generally, to use and operate it in the 
-same conditions as regards security. 
-
-The fact that you are presently reading this means that you have had
-knowledge of the CeCILL-B license and that you accept its terms.
+  Copyright 2007-2008 INRIA
+  Copyright 2008-2010 DIGITEO
+
+  Author : Sylvestre Ledru & others
+
+  This is generated code.
+
+  This software is a computer program whose purpose is to hide the complexity
+  of accessing Java objects/methods from C++ code.
+
+  This software is governed by the CeCILL-B license under French law and
+  abiding by the rules of distribution of free software.  You can  use,
+  modify and/ or redistribute the software under the terms of the CeCILL-B
+  license as circulated by CEA, CNRS and INRIA at the following URL
+  "http://www.cecill.info".
+
+  As a counterpart to the access to the source code and  rights to copy,
+  modify and redistribute granted by the license, users are provided only
+  with a limited warranty  and the software's author,  the holder of the
+  economic rights,  and the successive licensors  have only  limited
+  liability.
+
+  In this respect, the user's attention is drawn to the risks associated
+  with loading,  using,  modifying and/or developing or reproducing the
+  software by the user in light of its specific status of free software,
+  that may mean  that it is complicated to manipulate,  and  that  also
+  therefore means  that it is reserved for developers  and  experienced
+  professionals having in-depth computer knowledge. Users are therefore
+  encouraged to load and test the software's suitability as regards their
+  requirements in conditions enabling the security of their systems and/or
+  data to be ensured and,  more generally, to use and operate it in the
+  same conditions as regards security.
+
+  The fact that you are presently reading this means that you have had
+  knowledge of the CeCILL-B license and that you accept its terms.
 */
 
 namespace org_scilab_modules_graphic_objects {
 
 // Returns the current env
 
-JNIEnv * CallGraphicController::getCurrentEnv() {
-JNIEnv * curEnv = NULL;
-jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-if (res != JNI_OK) {
-throw GiwsException::JniException(getCurrentEnv());
-}
-return curEnv;
-}
+    JNIEnv * CallGraphicController::getCurrentEnv() {
+        JNIEnv * curEnv = NULL;
+        jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        if (res != JNI_OK) {
+            throw GiwsException::JniException(getCurrentEnv());
+        }
+        return curEnv;
+    }
 // Destructor
 
-CallGraphicController::~CallGraphicController() {
-JNIEnv * curEnv = NULL;
-this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+    CallGraphicController::~CallGraphicController() {
+        JNIEnv * curEnv = NULL;
+        this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
 
-curEnv->DeleteGlobalRef(this->instance);
-curEnv->DeleteGlobalRef(this->instanceClass);
-curEnv->DeleteGlobalRef(this->stringArrayClass);}
+        curEnv->DeleteGlobalRef(this->instance);
+        curEnv->DeleteGlobalRef(this->instanceClass);
+        curEnv->DeleteGlobalRef(this->stringArrayClass);}
 // Constructors
-CallGraphicController::CallGraphicController(JavaVM * jvm_) {
-jmethodID constructObject = NULL ;
-jobject localInstance ;
-jclass localClass ;
-const std::string construct="<init>";
-const std::string param="()V";
-jvm=jvm_;
-
-JNIEnv * curEnv = getCurrentEnv();
-
-localClass = curEnv->FindClass( this->className().c_str() ) ;
-if (localClass == NULL) {
-  throw GiwsException::JniClassNotFoundException(curEnv, this->className());
-}
+    CallGraphicController::CallGraphicController(JavaVM * jvm_) {
+        jmethodID constructObject = NULL ;
+        jobject localInstance ;
+        jclass localClass ;
+        const std::string construct="<init>";
+        const std::string param="()V";
+        jvm=jvm_;
 
-this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
+        JNIEnv * curEnv = getCurrentEnv();
 
-/* localClass is not needed anymore */
-curEnv->DeleteLocalRef(localClass);
+        localClass = curEnv->FindClass( this->className().c_str() ) ;
+        if (localClass == NULL) {
+            throw GiwsException::JniClassNotFoundException(curEnv, this->className());
+        }
 
-if (this->instanceClass == NULL) {
-throw GiwsException::JniObjectCreationException(curEnv, this->className());
-}
+        this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
 
+/* localClass is not needed anymore */
+        curEnv->DeleteLocalRef(localClass);
 
-constructObject = curEnv->GetMethodID( this->instanceClass, construct.c_str() , param.c_str() ) ;
-if(constructObject == NULL){
-throw GiwsException::JniObjectCreationException(curEnv, this->className());
-}
+        if (this->instanceClass == NULL) {
+            throw GiwsException::JniObjectCreationException(curEnv, this->className());
+        }
 
-localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ;
-if(localInstance == NULL){
-throw GiwsException::JniObjectCreationException(curEnv, this->className());
-}
-this->instance = curEnv->NewGlobalRef(localInstance) ;
-if(this->instance == NULL){
-throw GiwsException::JniObjectCreationException(curEnv, this->className());
-}
-/* localInstance not needed anymore */
-curEnv->DeleteLocalRef(localInstance);
-
-                /* Methods ID set to NULL */
-voiddeleteGraphicObjectjstringID=NULL; 
-jstringcloneGraphicObjectjstringID=NULL; 
-jstringaskGraphicObjectjstringID=NULL; 
-voidsetGraphicObjectRelationshipjstringjstringID=NULL; 
-jstringgetGraphicObjectPropertyAsStringjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjstringID=NULL; 
-jobjectArray_getGraphicObjectPropertyAsStringVectorjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjobjectArray_ID=NULL; 
-jdoublegetGraphicObjectPropertyAsDoublejstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjdoubleID=NULL; 
-jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjdoubleArray_ID=NULL; 
-jintgetGraphicObjectPropertyAsIntegerjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjintID=NULL; 
-jintArray_getGraphicObjectPropertyAsIntegerVectorjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjintArray_ID=NULL; 
-jintgetGraphicObjectPropertyAsBooleanjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjbooleanID=NULL; 
-jintArray_getGraphicObjectPropertyAsBooleanVectorjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjbooleanArray_ID=NULL; 
 
+        constructObject = curEnv->GetMethodID( this->instanceClass, construct.c_str() , param.c_str() ) ;
+        if(constructObject == NULL){
+            throw GiwsException::JniObjectCreationException(curEnv, this->className());
+        }
 
-}
+        localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ;
+        if(localInstance == NULL){
+            throw GiwsException::JniObjectCreationException(curEnv, this->className());
+        }
 
-CallGraphicController::CallGraphicController(JavaVM * jvm_, jobject JObj) {
+        this->instance = curEnv->NewGlobalRef(localInstance) ;
+        if(this->instance == NULL){
+            throw GiwsException::JniObjectCreationException(curEnv, this->className());
+        }
+/* localInstance not needed anymore */
+        curEnv->DeleteLocalRef(localInstance);
+
+        /* Methods ID set to NULL */
+        voiddeleteGraphicObjectjstringID=NULL;
+        jstringcloneGraphicObjectjstringID=NULL;
+        jstringaskGraphicObjectjstringID=NULL;
+        voidsetGraphicObjectRelationshipjstringjstringID=NULL;
+        jstringgetGraphicObjectPropertyAsStringjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjstringID=NULL;
+        jobjectArray_getGraphicObjectPropertyAsStringVectorjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjobjectArray_ID=NULL;
+        jdoublegetGraphicObjectPropertyAsDoublejstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjdoubleID=NULL;
+        jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjdoubleArray_ID=NULL;
+        jintgetGraphicObjectPropertyAsIntegerjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjintID=NULL;
+        jintArray_getGraphicObjectPropertyAsIntegerVectorjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjintArray_ID=NULL;
+        jintgetGraphicObjectPropertyAsBooleanjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjbooleanID=NULL;
+        jintArray_getGraphicObjectPropertyAsBooleanVectorjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjbooleanArray_ID=NULL;
+
+
+    }
+
+    CallGraphicController::CallGraphicController(JavaVM * jvm_, jobject JObj) {
         jvm=jvm_;
 
         JNIEnv * curEnv = getCurrentEnv();
 
-jclass localClass = curEnv->GetObjectClass(JObj);
+        jclass localClass = curEnv->GetObjectClass(JObj);
         this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
         curEnv->DeleteLocalRef(localClass);
 
         if (this->instanceClass == NULL) {
-throw GiwsException::JniObjectCreationException(curEnv, this->className());
+            throw GiwsException::JniObjectCreationException(curEnv, this->className());
         }
 
         this->instance = curEnv->NewGlobalRef(JObj) ;
         if(this->instance == NULL){
-throw GiwsException::JniObjectCreationException(curEnv, this->className());
+            throw GiwsException::JniObjectCreationException(curEnv, this->className());
         }
         /* Methods ID set to NULL */
-        voiddeleteGraphicObjectjstringID=NULL; 
-jstringcloneGraphicObjectjstringID=NULL; 
-jstringaskGraphicObjectjstringID=NULL; 
-voidsetGraphicObjectRelationshipjstringjstringID=NULL; 
-jstringgetGraphicObjectPropertyAsStringjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjstringID=NULL; 
-jobjectArray_getGraphicObjectPropertyAsStringVectorjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjobjectArray_ID=NULL; 
-jdoublegetGraphicObjectPropertyAsDoublejstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjdoubleID=NULL; 
-jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjdoubleArray_ID=NULL; 
-jintgetGraphicObjectPropertyAsIntegerjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjintID=NULL; 
-jintArray_getGraphicObjectPropertyAsIntegerVectorjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjintArray_ID=NULL; 
-jintgetGraphicObjectPropertyAsBooleanjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjbooleanID=NULL; 
-jintArray_getGraphicObjectPropertyAsBooleanVectorjstringjstringID=NULL; 
-jbooleansetGraphicObjectPropertyjstringjstringjbooleanArray_ID=NULL; 
-
-
-}
+        voiddeleteGraphicObjectjstringID=NULL;
+        jstringcloneGraphicObjectjstringID=NULL;
+        jstringaskGraphicObjectjstringID=NULL;
+        voidsetGraphicObjectRelationshipjstringjstringID=NULL;
+        jstringgetGraphicObjectPropertyAsStringjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjstringID=NULL;
+        jobjectArray_getGraphicObjectPropertyAsStringVectorjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjobjectArray_ID=NULL;
+        jdoublegetGraphicObjectPropertyAsDoublejstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjdoubleID=NULL;
+        jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjdoubleArray_ID=NULL;
+        jintgetGraphicObjectPropertyAsIntegerjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjintID=NULL;
+        jintArray_getGraphicObjectPropertyAsIntegerVectorjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjintArray_ID=NULL;
+        jintgetGraphicObjectPropertyAsBooleanjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjbooleanID=NULL;
+        jintArray_getGraphicObjectPropertyAsBooleanVectorjstringjstringID=NULL;
+        jbooleansetGraphicObjectPropertyjstringjstringjbooleanArray_ID=NULL;
+
+
+    }
 
 // Generic methods
 
-void CallGraphicController::synchronize() {
-if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK) {
-throw GiwsException::JniMonitorException(getCurrentEnv(), "CallGraphicController");
-}
-}
+    void CallGraphicController::synchronize() {
+        if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK) {
+            throw GiwsException::JniMonitorException(getCurrentEnv(), "CallGraphicController");
+        }
+    }
 
-void CallGraphicController::endSynchronize() {
-if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK) {
-throw GiwsException::JniMonitorException(getCurrentEnv(), "CallGraphicController");
-}
-}
+    void CallGraphicController::endSynchronize() {
+        if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK) {
+            throw GiwsException::JniMonitorException(getCurrentEnv(), "CallGraphicController");
+        }
+    }
 // Method(s)
 
-void CallGraphicController::deleteGraphicObject (JavaVM * jvm_, char * id){
+    void CallGraphicController::deleteGraphicObject (JavaVM * jvm_, char * id){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID voiddeleteGraphicObjectjstringID = curEnv->GetStaticMethodID(cls, "deleteGraphicObject", "(Ljava/lang/String;)V" ) ;
-if (voiddeleteGraphicObjectjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "deleteGraphicObject");
-}
+        jmethodID voiddeleteGraphicObjectjstringID = curEnv->GetStaticMethodID(cls, "deleteGraphicObject", "(Ljava/lang/String;)V" ) ;
+        if (voiddeleteGraphicObjectjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "deleteGraphicObject");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-                         curEnv->CallStaticVoidMethod(cls, voiddeleteGraphicObjectjstringID ,id_);
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-}
+        curEnv->CallStaticVoidMethod(cls, voiddeleteGraphicObjectjstringID ,id_);
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+    }
 
-char * CallGraphicController::cloneGraphicObject (JavaVM * jvm_, char * id){
+    char * CallGraphicController::cloneGraphicObject (JavaVM * jvm_, char * id){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jstringcloneGraphicObjectjstringID = curEnv->GetStaticMethodID(cls, "cloneGraphicObject", "(Ljava/lang/String;)Ljava/lang/String;" ) ;
-if (jstringcloneGraphicObjectjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "cloneGraphicObject");
-}
+        jmethodID jstringcloneGraphicObjectjstringID = curEnv->GetStaticMethodID(cls, "cloneGraphicObject", "(Ljava/lang/String;)Ljava/lang/String;" ) ;
+        if (jstringcloneGraphicObjectjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "cloneGraphicObject");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-                        jstring res =  static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringcloneGraphicObjectjstringID ,id_));
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
+        jstring res =  static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringcloneGraphicObjectjstringID ,id_));
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
 
-const char *tempString = curEnv->GetStringUTFChars(res, 0);
-char * myStringBuffer = new char[strlen(tempString) + 1];
-strcpy(myStringBuffer, tempString);
-curEnv->ReleaseStringUTFChars(res, tempString);
-curEnv->DeleteLocalRef(res);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return myStringBuffer;
+        const char *tempString = curEnv->GetStringUTFChars(res, 0);
+        char * myStringBuffer = new char[strlen(tempString) + 1];
+        strcpy(myStringBuffer, tempString);
+        curEnv->ReleaseStringUTFChars(res, tempString);
+        curEnv->DeleteLocalRef(res);
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return myStringBuffer;
 
-}
+    }
 
-char * CallGraphicController::askGraphicObject (JavaVM * jvm_, char * typeName){
+    char * CallGraphicController::askGraphicObject (JavaVM * jvm_, char * typeName){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jstringaskGraphicObjectjstringID = curEnv->GetStaticMethodID(cls, "askGraphicObject", "(Ljava/lang/String;)Ljava/lang/String;" ) ;
-if (jstringaskGraphicObjectjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "askGraphicObject");
-}
+        jmethodID jstringaskGraphicObjectjstringID = curEnv->GetStaticMethodID(cls, "askGraphicObject", "(Ljava/lang/String;)Ljava/lang/String;" ) ;
+        if (jstringaskGraphicObjectjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "askGraphicObject");
+        }
 
-jstring typeName_ = curEnv->NewStringUTF( typeName );
+        jstring typeName_ = curEnv->NewStringUTF( typeName );
 
-                        jstring res =  static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringaskGraphicObjectjstringID ,typeName_));
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
+        jstring res =  static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringaskGraphicObjectjstringID ,typeName_));
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
 
-const char *tempString = curEnv->GetStringUTFChars(res, 0);
-char * myStringBuffer = new char[strlen(tempString) + 1];
-strcpy(myStringBuffer, tempString);
-curEnv->ReleaseStringUTFChars(res, tempString);
-curEnv->DeleteLocalRef(res);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return myStringBuffer;
+        const char *tempString = curEnv->GetStringUTFChars(res, 0);
+        char * myStringBuffer = new char[strlen(tempString) + 1];
+        strcpy(myStringBuffer, tempString);
+        curEnv->ReleaseStringUTFChars(res, tempString);
+        curEnv->DeleteLocalRef(res);
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return myStringBuffer;
 
-}
+    }
 
-void CallGraphicController::setGraphicObjectRelationship (JavaVM * jvm_, char * parentId, char * childId){
+    void CallGraphicController::setGraphicObjectRelationship (JavaVM * jvm_, char * parentId, char * childId){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID voidsetGraphicObjectRelationshipjstringjstringID = curEnv->GetStaticMethodID(cls, "setGraphicObjectRelationship", "(Ljava/lang/String;Ljava/lang/String;)V" ) ;
-if (voidsetGraphicObjectRelationshipjstringjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectRelationship");
-}
+        jmethodID voidsetGraphicObjectRelationshipjstringjstringID = curEnv->GetStaticMethodID(cls, "setGraphicObjectRelationship", "(Ljava/lang/String;Ljava/lang/String;)V" ) ;
+        if (voidsetGraphicObjectRelationshipjstringjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectRelationship");
+        }
 
-jstring parentId_ = curEnv->NewStringUTF( parentId );
+        jstring parentId_ = curEnv->NewStringUTF( parentId );
 
-jstring childId_ = curEnv->NewStringUTF( childId );
+        jstring childId_ = curEnv->NewStringUTF( childId );
 
-                         curEnv->CallStaticVoidMethod(cls, voidsetGraphicObjectRelationshipjstringjstringID ,parentId_, childId_);
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-}
+        curEnv->CallStaticVoidMethod(cls, voidsetGraphicObjectRelationshipjstringjstringID ,parentId_, childId_);
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+    }
 
-char * CallGraphicController::getGraphicObjectPropertyAsString (JavaVM * jvm_, char * id, char * propertyName){
+    char * CallGraphicController::getGraphicObjectPropertyAsString (JavaVM * jvm_, char * id, char * propertyName){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jstringgetGraphicObjectPropertyAsStringjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsString", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" ) ;
-if (jstringgetGraphicObjectPropertyAsStringjstringjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsString");
-}
+        jmethodID jstringgetGraphicObjectPropertyAsStringjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsString", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" ) ;
+        if (jstringgetGraphicObjectPropertyAsStringjstringjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsString");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-                        jstring res =  static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringgetGraphicObjectPropertyAsStringjstringjstringID ,id_, propertyName_));
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
+        jstring res =  static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringgetGraphicObjectPropertyAsStringjstringjstringID ,id_, propertyName_));
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
 
-const char *tempString = curEnv->GetStringUTFChars(res, 0);
-char * myStringBuffer = new char[strlen(tempString) + 1];
-strcpy(myStringBuffer, tempString);
-curEnv->ReleaseStringUTFChars(res, tempString);
-curEnv->DeleteLocalRef(res);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return myStringBuffer;
+        const char *tempString = curEnv->GetStringUTFChars(res, 0);
+        char * myStringBuffer = new char[strlen(tempString) + 1];
+        strcpy(myStringBuffer, tempString);
+        curEnv->ReleaseStringUTFChars(res, tempString);
+        curEnv->DeleteLocalRef(res);
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return myStringBuffer;
 
-}
+    }
 
-bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, char * value){
+    bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, char * value){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jbooleansetGraphicObjectPropertyjstringjstringjstringID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z" ) ;
-if (jbooleansetGraphicObjectPropertyjstringjstringjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
-}
+        jmethodID jbooleansetGraphicObjectPropertyjstringjstringjstringID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z" ) ;
+        if (jbooleansetGraphicObjectPropertyjstringjstringjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-jstring value_ = curEnv->NewStringUTF( value );
+        jstring value_ = curEnv->NewStringUTF( value );
 
-                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjstringID ,id_, propertyName_, value_));
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return (res == JNI_TRUE);
+        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjstringID ,id_, propertyName_, value_));
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return (res == JNI_TRUE);
 
-}
+    }
 
-char ** CallGraphicController::getGraphicObjectPropertyAsStringVector (JavaVM * jvm_, char * id, char * propertyName, int *lenRow){
+    char ** CallGraphicController::getGraphicObjectPropertyAsStringVector (JavaVM * jvm_, char * id, char * propertyName, int *lenRow){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jobjectArray_getGraphicObjectPropertyAsStringVectorjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsStringVector", "(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;" ) ;
-if (jobjectArray_getGraphicObjectPropertyAsStringVectorjstringjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsStringVector");
-}
+        jmethodID jobjectArray_getGraphicObjectPropertyAsStringVectorjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsStringVector", "(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;" ) ;
+        if (jobjectArray_getGraphicObjectPropertyAsStringVectorjstringjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsStringVector");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-                        jobjectArray res =  static_cast<jobjectArray>( curEnv->CallStaticObjectMethod(cls, jobjectArray_getGraphicObjectPropertyAsStringVectorjstringjstringID ,id_, propertyName_));
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-* lenRow = curEnv->GetArrayLength(res);
-
-char **arrayOfString;
-arrayOfString = new char *[*lenRow];
-for (jsize i = 0; i < *lenRow; i++){
-jstring resString = reinterpret_cast<jstring>(curEnv->GetObjectArrayElement(res, i));
-const char *tempString = curEnv->GetStringUTFChars(resString, 0);
-arrayOfString[i] = new char[strlen(tempString) + 1];
-
-strcpy(arrayOfString[i], tempString);
-curEnv->ReleaseStringUTFChars(resString, tempString);
-curEnv->DeleteLocalRef(resString);
-}
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-curEnv->DeleteLocalRef(res);
-return arrayOfString;
+        jobjectArray res =  static_cast<jobjectArray>( curEnv->CallStaticObjectMethod(cls, jobjectArray_getGraphicObjectPropertyAsStringVectorjstringjstringID ,id_, propertyName_));
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        * lenRow = curEnv->GetArrayLength(res);
+
+        char **arrayOfString;
+        arrayOfString = new char *[*lenRow];
+        for (jsize i = 0; i < *lenRow; i++){
+            jstring resString = reinterpret_cast<jstring>(curEnv->GetObjectArrayElement(res, i));
+            const char *tempString = curEnv->GetStringUTFChars(resString, 0);
+            arrayOfString[i] = new char[strlen(tempString) + 1];
+
+            strcpy(arrayOfString[i], tempString);
+            curEnv->ReleaseStringUTFChars(resString, tempString);
+            curEnv->DeleteLocalRef(resString);
+        }
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        curEnv->DeleteLocalRef(res);
+        return arrayOfString;
 
-}
+    }
 
-bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, char ** value, int valueSize){
+    bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, char ** value, int valueSize){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jbooleansetGraphicObjectPropertyjstringjstringjobjectArray_ID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Z" ) ;
-if (jbooleansetGraphicObjectPropertyjstringjstringjobjectArray_ID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
-}
+        jmethodID jbooleansetGraphicObjectPropertyjstringjstringjobjectArray_ID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Z" ) ;
+        if (jbooleansetGraphicObjectPropertyjstringjstringjobjectArray_ID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
-jclass stringArrayClass = curEnv->FindClass("java/lang/String");
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jclass stringArrayClass = curEnv->FindClass("java/lang/String");
 
 // create java array of strings.
-jobjectArray value_ = curEnv->NewObjectArray( valueSize, stringArrayClass, NULL);
-if (value_ == NULL)
-{
-throw GiwsException::JniBadAllocException(curEnv);
-}
+        jobjectArray value_ = curEnv->NewObjectArray( valueSize, stringArrayClass, NULL);
+        if (value_ == NULL)
+        {
+            throw GiwsException::JniBadAllocException(curEnv);
+        }
 
 // convert each char * to java strings and fill the java array.
-for ( int i = 0; i < valueSize; i++)
-{
-jstring TempString = curEnv->NewStringUTF( value[i] );
-if (TempString == NULL)
-{
-throw GiwsException::JniBadAllocException(curEnv);
-}
+        for ( int i = 0; i < valueSize; i++)
+        {
+            jstring TempString = curEnv->NewStringUTF( value[i] );
+            if (TempString == NULL)
+            {
+                throw GiwsException::JniBadAllocException(curEnv);
+            }
 
-curEnv->SetObjectArrayElement( value_, i, TempString);
+            curEnv->SetObjectArrayElement( value_, i, TempString);
 
 // avoid keeping reference on to many strings
-curEnv->DeleteLocalRef(TempString);
-}
-                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjobjectArray_ID ,id_, propertyName_, value_));
-                        curEnv->DeleteLocalRef(stringArrayClass);
-curEnv->DeleteLocalRef(value_);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return (res == JNI_TRUE);
+            curEnv->DeleteLocalRef(TempString);
+        }
+        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjobjectArray_ID ,id_, propertyName_, value_));
+        curEnv->DeleteLocalRef(stringArrayClass);
+        curEnv->DeleteLocalRef(value_);
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return (res == JNI_TRUE);
 
-}
+    }
 
-double CallGraphicController::getGraphicObjectPropertyAsDouble (JavaVM * jvm_, char * id, char * propertyName){
+    double CallGraphicController::getGraphicObjectPropertyAsDouble (JavaVM * jvm_, char * id, char * propertyName){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jdoublegetGraphicObjectPropertyAsDoublejstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsDouble", "(Ljava/lang/String;Ljava/lang/String;)D" ) ;
-if (jdoublegetGraphicObjectPropertyAsDoublejstringjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsDouble");
-}
+        jmethodID jdoublegetGraphicObjectPropertyAsDoublejstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsDouble", "(Ljava/lang/String;Ljava/lang/String;)D" ) ;
+        if (jdoublegetGraphicObjectPropertyAsDoublejstringjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsDouble");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-                        jdouble res =  static_cast<jdouble>( curEnv->CallStaticDoubleMethod(cls, jdoublegetGraphicObjectPropertyAsDoublejstringjstringID ,id_, propertyName_));
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return res;
+        jdouble res =  static_cast<jdouble>( curEnv->CallStaticDoubleMethod(cls, jdoublegetGraphicObjectPropertyAsDoublejstringjstringID ,id_, propertyName_));
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return res;
 
-}
+    }
 
-bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, double value){
+    bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, double value){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jbooleansetGraphicObjectPropertyjstringjstringjdoubleID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;D)Z" ) ;
-if (jbooleansetGraphicObjectPropertyjstringjstringjdoubleID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
-}
+        jmethodID jbooleansetGraphicObjectPropertyjstringjstringjdoubleID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;D)Z" ) ;
+        if (jbooleansetGraphicObjectPropertyjstringjstringjdoubleID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjdoubleID ,id_, propertyName_, value));
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return (res == JNI_TRUE);
+        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjdoubleID ,id_, propertyName_, value));
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return (res == JNI_TRUE);
 
-}
+    }
 
-double* CallGraphicController::getGraphicObjectPropertyAsDoubleVector (JavaVM * jvm_, char * id, char * propertyName, int *lenRow){
+    double* CallGraphicController::getGraphicObjectPropertyAsDoubleVector (JavaVM * jvm_, char * id, char * propertyName, int *lenRow){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsDoubleVector", "(Ljava/lang/String;Ljava/lang/String;)[D" ) ;
-if (jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjstringjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsDoubleVector");
-}
+        jmethodID jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsDoubleVector", "(Ljava/lang/String;Ljava/lang/String;)[D" ) ;
+        if (jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjstringjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsDoubleVector");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-                        jdoubleArray res =  static_cast<jdoubleArray>( curEnv->CallStaticObjectMethod(cls, jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjstringjstringID ,id_, propertyName_));
-                        if (res == NULL) { return NULL; }
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-* lenRow = curEnv->GetArrayLength(res);
-jboolean isCopy = JNI_FALSE;
+        jdoubleArray res =  static_cast<jdoubleArray>( curEnv->CallStaticObjectMethod(cls, jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjstringjstringID ,id_, propertyName_));
+        if (res == NULL) { return NULL; }
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        * lenRow = curEnv->GetArrayLength(res);
+        jboolean isCopy = JNI_FALSE;
 
 /* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
-jdouble *resultsArray = static_cast<jdouble *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
-double* myArray= new double[* lenRow];
+        jdouble *resultsArray = static_cast<jdouble *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
+        double* myArray= new double[* lenRow];
 
-for (jsize i = 0; i < * lenRow; i++){
-myArray[i]=resultsArray[i];
-}
-curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
+        for (jsize i = 0; i < * lenRow; i++){
+            myArray[i]=resultsArray[i];
+        }
+        curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
 
-                        curEnv->DeleteLocalRef(res);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return myArray;
+        curEnv->DeleteLocalRef(res);
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return myArray;
 
-}
+    }
 
-bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, double* value, int valueSize){
+    bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, double* value, int valueSize){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jbooleansetGraphicObjectPropertyjstringjstringjdoubleArray_ID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;[D)Z" ) ;
-if (jbooleansetGraphicObjectPropertyjstringjstringjdoubleArray_ID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
-}
+        jmethodID jbooleansetGraphicObjectPropertyjstringjstringjdoubleArray_ID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;[D)Z" ) ;
+        if (jbooleansetGraphicObjectPropertyjstringjstringjdoubleArray_ID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-jdoubleArray value_ = curEnv->NewDoubleArray( valueSize ) ;
+        jdoubleArray value_ = curEnv->NewDoubleArray( valueSize ) ;
 
-if (value_ == NULL)
-{
+        if (value_ == NULL)
+        {
 // check that allocation succeed
-throw GiwsException::JniBadAllocException(curEnv);
-}
+            throw GiwsException::JniBadAllocException(curEnv);
+        }
 
-curEnv->SetDoubleArrayRegion( value_, 0, valueSize, (jdouble*)(value) ) ;
+        curEnv->SetDoubleArrayRegion( value_, 0, valueSize, (jdouble*)(value) ) ;
 
 
-                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjdoubleArray_ID ,id_, propertyName_, value_));
-                        curEnv->DeleteLocalRef(value_);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return (res == JNI_TRUE);
+        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjdoubleArray_ID ,id_, propertyName_, value_));
+        curEnv->DeleteLocalRef(value_);
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return (res == JNI_TRUE);
 
-}
+    }
 
-int CallGraphicController::getGraphicObjectPropertyAsInteger (JavaVM * jvm_, char * id, char * propertyName){
+    int CallGraphicController::getGraphicObjectPropertyAsInteger (JavaVM * jvm_, char * id, char * propertyName){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jintgetGraphicObjectPropertyAsIntegerjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsInteger", "(Ljava/lang/String;Ljava/lang/String;)I" ) ;
-if (jintgetGraphicObjectPropertyAsIntegerjstringjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsInteger");
-}
+        jmethodID jintgetGraphicObjectPropertyAsIntegerjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsInteger", "(Ljava/lang/String;Ljava/lang/String;)I" ) ;
+        if (jintgetGraphicObjectPropertyAsIntegerjstringjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsInteger");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetGraphicObjectPropertyAsIntegerjstringjstringID ,id_, propertyName_));
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return res;
+        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetGraphicObjectPropertyAsIntegerjstringjstringID ,id_, propertyName_));
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return res;
 
-}
+    }
 
-bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, int value){
+    bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, int value){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jbooleansetGraphicObjectPropertyjstringjstringjintID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;I)Z" ) ;
-if (jbooleansetGraphicObjectPropertyjstringjstringjintID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
-}
+        jmethodID jbooleansetGraphicObjectPropertyjstringjstringjintID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;I)Z" ) ;
+        if (jbooleansetGraphicObjectPropertyjstringjstringjintID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjintID ,id_, propertyName_, value));
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return (res == JNI_TRUE);
+        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjintID ,id_, propertyName_, value));
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return (res == JNI_TRUE);
 
-}
+    }
 
-int* CallGraphicController::getGraphicObjectPropertyAsIntegerVector (JavaVM * jvm_, char * id, char * propertyName, int *lenRow){
+    int* CallGraphicController::getGraphicObjectPropertyAsIntegerVector (JavaVM * jvm_, char * id, char * propertyName, int *lenRow){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jintArray_getGraphicObjectPropertyAsIntegerVectorjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsIntegerVector", "(Ljava/lang/String;Ljava/lang/String;)[I" ) ;
-if (jintArray_getGraphicObjectPropertyAsIntegerVectorjstringjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsIntegerVector");
-}
+        jmethodID jintArray_getGraphicObjectPropertyAsIntegerVectorjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsIntegerVector", "(Ljava/lang/String;Ljava/lang/String;)[I" ) ;
+        if (jintArray_getGraphicObjectPropertyAsIntegerVectorjstringjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsIntegerVector");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-                        jintArray res =  static_cast<jintArray>( curEnv->CallStaticObjectMethod(cls, jintArray_getGraphicObjectPropertyAsIntegerVectorjstringjstringID ,id_, propertyName_));
-                        if (res == NULL) { return NULL; }
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-* lenRow = curEnv->GetArrayLength(res);
-jboolean isCopy = JNI_FALSE;
+        jintArray res =  static_cast<jintArray>( curEnv->CallStaticObjectMethod(cls, jintArray_getGraphicObjectPropertyAsIntegerVectorjstringjstringID ,id_, propertyName_));
+        if (res == NULL) { return NULL; }
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        * lenRow = curEnv->GetArrayLength(res);
+        jboolean isCopy = JNI_FALSE;
 
 /* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
-jint *resultsArray = static_cast<jint *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
-int* myArray= new int[* lenRow];
+        jint *resultsArray = static_cast<jint *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
+        int* myArray= new int[* lenRow];
 
-for (jsize i = 0; i < * lenRow; i++){
-myArray[i]=resultsArray[i];
-}
-curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
+        for (jsize i = 0; i < * lenRow; i++){
+            myArray[i]=resultsArray[i];
+        }
+        curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
 
-                        curEnv->DeleteLocalRef(res);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return myArray;
+        curEnv->DeleteLocalRef(res);
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return myArray;
 
-}
+    }
 
-bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, int* value, int valueSize){
+    bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, int* value, int valueSize){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jbooleansetGraphicObjectPropertyjstringjstringjintArray_ID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;[I)Z" ) ;
-if (jbooleansetGraphicObjectPropertyjstringjstringjintArray_ID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
-}
+        jmethodID jbooleansetGraphicObjectPropertyjstringjstringjintArray_ID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;[I)Z" ) ;
+        if (jbooleansetGraphicObjectPropertyjstringjstringjintArray_ID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-jintArray value_ = curEnv->NewIntArray( valueSize ) ;
+        jintArray value_ = curEnv->NewIntArray( valueSize ) ;
 
-if (value_ == NULL)
-{
+        if (value_ == NULL)
+        {
 // check that allocation succeed
-throw GiwsException::JniBadAllocException(curEnv);
-}
+            throw GiwsException::JniBadAllocException(curEnv);
+        }
 
-curEnv->SetIntArrayRegion( value_, 0, valueSize, (jint*)(value) ) ;
+        curEnv->SetIntArrayRegion( value_, 0, valueSize, (jint*)(value) ) ;
 
 
-                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjintArray_ID ,id_, propertyName_, value_));
-                        curEnv->DeleteLocalRef(value_);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return (res == JNI_TRUE);
+        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjintArray_ID ,id_, propertyName_, value_));
+        curEnv->DeleteLocalRef(value_);
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return (res == JNI_TRUE);
 
-}
+    }
 
-int CallGraphicController::getGraphicObjectPropertyAsBoolean (JavaVM * jvm_, char * id, char * propertyName){
+    int CallGraphicController::getGraphicObjectPropertyAsBoolean (JavaVM * jvm_, char * id, char * propertyName){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jintgetGraphicObjectPropertyAsBooleanjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsBoolean", "(Ljava/lang/String;Ljava/lang/String;)I" ) ;
-if (jintgetGraphicObjectPropertyAsBooleanjstringjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsBoolean");
-}
+        jmethodID jintgetGraphicObjectPropertyAsBooleanjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsBoolean", "(Ljava/lang/String;Ljava/lang/String;)I" ) ;
+        if (jintgetGraphicObjectPropertyAsBooleanjstringjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsBoolean");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetGraphicObjectPropertyAsBooleanjstringjstringID ,id_, propertyName_));
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return res;
+        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetGraphicObjectPropertyAsBooleanjstringjstringID ,id_, propertyName_));
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return res;
 
-}
+    }
 
-bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, bool value){
+    bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, bool value){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jbooleansetGraphicObjectPropertyjstringjstringjbooleanID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;Z)Z" ) ;
-if (jbooleansetGraphicObjectPropertyjstringjstringjbooleanID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
-}
+        jmethodID jbooleansetGraphicObjectPropertyjstringjstringjbooleanID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;Z)Z" ) ;
+        if (jbooleansetGraphicObjectPropertyjstringjstringjbooleanID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-jboolean value_ = (static_cast<bool>(value) ? JNI_TRUE : JNI_FALSE);
+        jboolean value_ = (static_cast<bool>(value) ? JNI_TRUE : JNI_FALSE);
 
-                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjbooleanID ,id_, propertyName_, value_));
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return (res == JNI_TRUE);
+        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjbooleanID ,id_, propertyName_, value_));
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return (res == JNI_TRUE);
 
-}
+    }
 
-int* CallGraphicController::getGraphicObjectPropertyAsBooleanVector (JavaVM * jvm_, char * id, char * propertyName, int *lenRow){
+    int* CallGraphicController::getGraphicObjectPropertyAsBooleanVector (JavaVM * jvm_, char * id, char * propertyName, int *lenRow){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jintArray_getGraphicObjectPropertyAsBooleanVectorjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsBooleanVector", "(Ljava/lang/String;Ljava/lang/String;)[I" ) ;
-if (jintArray_getGraphicObjectPropertyAsBooleanVectorjstringjstringID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsBooleanVector");
-}
+        jmethodID jintArray_getGraphicObjectPropertyAsBooleanVectorjstringjstringID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsBooleanVector", "(Ljava/lang/String;Ljava/lang/String;)[I" ) ;
+        if (jintArray_getGraphicObjectPropertyAsBooleanVectorjstringjstringID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsBooleanVector");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-                        jintArray res =  static_cast<jintArray>( curEnv->CallStaticObjectMethod(cls, jintArray_getGraphicObjectPropertyAsBooleanVectorjstringjstringID ,id_, propertyName_));
-                        if (res == NULL) { return NULL; }
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-* lenRow = curEnv->GetArrayLength(res);
-jboolean isCopy = JNI_FALSE;
+        jintArray res =  static_cast<jintArray>( curEnv->CallStaticObjectMethod(cls, jintArray_getGraphicObjectPropertyAsBooleanVectorjstringjstringID ,id_, propertyName_));
+        if (res == NULL) { return NULL; }
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        * lenRow = curEnv->GetArrayLength(res);
+        jboolean isCopy = JNI_FALSE;
 
 /* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
-jint *resultsArray = static_cast<jint *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
-int* myArray= new int[* lenRow];
+        jint *resultsArray = static_cast<jint *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
+        int* myArray= new int[* lenRow];
 
-for (jsize i = 0; i < * lenRow; i++){
-myArray[i]=resultsArray[i];
-}
-curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
+        for (jsize i = 0; i < * lenRow; i++){
+            myArray[i]=resultsArray[i];
+        }
+        curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
 
-                        curEnv->DeleteLocalRef(res);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return myArray;
+        curEnv->DeleteLocalRef(res);
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return myArray;
 
-}
+    }
 
-bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, bool* value, int valueSize){
+    bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, char * id, char * propertyName, bool* value, int valueSize){
 
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
+        JNIEnv * curEnv = NULL;
+        jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+        jclass cls = curEnv->FindClass( className().c_str() );
 
-jmethodID jbooleansetGraphicObjectPropertyjstringjstringjbooleanArray_ID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;[Z)Z" ) ;
-if (jbooleansetGraphicObjectPropertyjstringjstringjbooleanArray_ID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
-}
+        jmethodID jbooleansetGraphicObjectPropertyjstringjstringjbooleanArray_ID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(Ljava/lang/String;Ljava/lang/String;[Z)Z" ) ;
+        if (jbooleansetGraphicObjectPropertyjstringjstringjbooleanArray_ID == NULL) {
+            throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty");
+        }
 
-jstring id_ = curEnv->NewStringUTF( id );
+        jstring id_ = curEnv->NewStringUTF( id );
 
-jstring propertyName_ = curEnv->NewStringUTF( propertyName );
+        jstring propertyName_ = curEnv->NewStringUTF( propertyName );
 
-jbooleanArray value_ = curEnv->NewBooleanArray( valueSize ) ;
-curEnv->SetBooleanArrayRegion( value_, 0, valueSize, (jboolean*)value ) ;
+        jbooleanArray value_ = curEnv->NewBooleanArray( valueSize ) ;
+        curEnv->SetBooleanArrayRegion( value_, 0, valueSize, (jboolean*)value ) ;
 
-                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjbooleanArray_ID ,id_, propertyName_, value_));
-                        curEnv->DeleteLocalRef(value_);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return (res == JNI_TRUE);
+        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjstringjstringjbooleanArray_ID ,id_, propertyName_, value_));
+        curEnv->DeleteLocalRef(value_);
+        if (curEnv->ExceptionCheck()) {
+            throw GiwsException::JniCallMethodException(curEnv);
+        }
+        return (res == JNI_TRUE);
 
-}
+    }
 
 }
index aacc385..277308e 100644 (file)
@@ -2,11 +2,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2006 - INRIA - Fabrice Leray
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -33,7 +33,8 @@ int sci_xarc(char *fname,unsigned long fname_len)
   int m1,n1,l1,l2,l3,l4,l5,l6;
   long hdl;
   int* tmp;
-  int curcolor;
+  int curcolor = 0;
+  int *piCurColor = &curcolor;
   sciPointObj * psubwin = NULL;
   sciPointObj * pFigure = NULL;
   double angle1 = 0.0;
@@ -47,7 +48,7 @@ int sci_xarc(char *fname,unsigned long fname_len)
   GetRhsVar(4,MATRIX_OF_DOUBLE_DATATYPE,&m1,&n1,&l4);CheckScalar(4,m1,n1);
   GetRhsVar(5,MATRIX_OF_INTEGER_DATATYPE,&m1,&n1,&l5);CheckScalar(5,m1,n1);
   GetRhsVar(6,MATRIX_OF_INTEGER_DATATYPE,&m1,&n1,&l6);CheckScalar(6,m1,n1);
-  
+
   angle1 = DEG2RAD(*istk(l5) / 64.0); /* convert to radian */
   angle2 = DEG2RAD(*istk(l6) / 64.0);
 
@@ -71,8 +72,7 @@ int sci_xarc(char *fname,unsigned long fname_len)
   endFigureDataReading(pFigure);
 #endif
 
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_LINE_COLOR__, jni_int);
-  curcolor = *tmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_LINE_COLOR__, jni_int, &piCurColor);
 
   /* Deactivated (synchronization) */
 #if 0
index c03021d..c3e2639 100644 (file)
@@ -3,11 +3,11 @@
  * Copyright (C) 2006 - INRIA - Fabrice Leray
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -42,7 +42,8 @@ int sci_xpoly( char * fname, unsigned long fname_len )
   int markMode;
   int lineMode;
   int foreground;
-  int* tmp;
+  int iTmp = 0;
+  int* piTmp = &iTmp;
   sciPointObj * pobj    = NULL ;
   sciPointObj * psubwin = NULL ;
   sciPointObj * pFigure = NULL;
@@ -56,22 +57,22 @@ int sci_xpoly( char * fname, unsigned long fname_len )
   if (Rhs >= 3) {
     GetRhsVar(3,STRING_DATATYPE,&m3,&n3,&l3);
     if ( strcmp(cstk(l3),"lines") == 0) {
-      strcpy(C2F(cha1).buf,"xlines"); 
+      strcpy(C2F(cha1).buf,"xlines");
       mark=1; /* NG */
     } else if (strcmp(cstk(l3),"marks") == 0) {
-      strcpy(C2F(cha1).buf,"xmarks"); 
+      strcpy(C2F(cha1).buf,"xmarks");
       mark=0; /* NG */
     } else {
       Scierror(999,_("%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n"),fname,3, "lines","marks");
       return 0;
-    } 
+    }
   }
   else {
     strcpy(C2F(cha1).buf,"xlines");
     mark=1; /* NG */
   }
 
-  if (Rhs >= 4) { GetRhsVar(4,MATRIX_OF_DOUBLE_DATATYPE,&m4,&n4,&l4); CheckScalar(4,m4,n4); close = (int)  *stk(l4);} 
+  if (Rhs >= 4) { GetRhsVar(4,MATRIX_OF_DOUBLE_DATATYPE,&m4,&n4,&l4); CheckScalar(4,m4,n4); close = (int)  *stk(l4);}
   /* NG beg */
 
   /* Deactivated for now (synchronization) */
@@ -101,25 +102,25 @@ int sci_xpoly( char * fname, unsigned long fname_len )
    * already present and have been updated for the MVC.
    */
   if(mark == 0){
-    /* marks are enabled but markstyle & foreground 
+    /* marks are enabled but markstyle & foreground
     is determined by parents' markstyle & foreground */
 
     markMode = 1;
     lineMode = 0;
 
-    tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_MARK_STYLE__, jni_int);
-    sciInitMarkStyle(pobj, *tmp);
+    getGraphicObjectProperty(psubwin->UID, __GO_MARK_STYLE__, jni_int, &piTmp);
+    sciInitMarkStyle(pobj, iTmp);
   }
   else{
     markMode = 0;
     lineMode = 1;
 
-    tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_LINE_STYLE__, jni_int);
-    sciInitLineStyle(pobj, *tmp);
+    getGraphicObjectProperty(psubwin->UID, __GO_LINE_STYLE__, jni_int, &piTmp);
+    sciInitLineStyle(pobj, iTmp);
   }
 
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_LINE_COLOR__, jni_int);
-  foreground = *tmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_LINE_COLOR__, jni_int, &piTmp);
+  foreground = iTmp;
 
   setGraphicObjectProperty(pobj->UID, __GO_LINE_COLOR__, &foreground, jni_int, 1);
 
index 5ff3c74..e175bec 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - ENPC - Jean-Philipe Chancelier
  * Copyright (C) 2006 - INRIA - Fabrice Leray
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -38,8 +38,9 @@ int sci_xrect( char *fname, unsigned long fname_len )
   int m1,n1,l1,m2,n2,l2,m3,n3,l3,m4,n4,l4;
   sciPointObj * psubwin = NULL;
   sciPointObj * pFigure = NULL;
-  int* tmp;
-  int foreground;
+
+  int foreground = 0;
+  int *piForeground = &foreground;
 
   CheckRhs(1,4);
 
@@ -59,7 +60,7 @@ int sci_xrect( char *fname, unsigned long fname_len )
   switch( Rhs )
   {
   case 1 :
-    GetRhsVar(1,MATRIX_OF_DOUBLE_DATATYPE,&m1,&n1,&l1); 
+    GetRhsVar(1,MATRIX_OF_DOUBLE_DATATYPE,&m1,&n1,&l1);
     CheckLength(1,m1*n1,4);
 
     /* Deactivated (synchronization) */
@@ -67,8 +68,7 @@ int sci_xrect( char *fname, unsigned long fname_len )
     startFigureDataWriting(pFigure);
 #endif
 
-    tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_LINE_COLOR__, jni_int);
-    foreground = *tmp;
+    getGraphicObjectProperty(psubwin->UID, __GO_LINE_COLOR__, jni_int, &piForeground);
 
     if (strcmp(fname,"xrect")==0)
     {
@@ -108,8 +108,7 @@ int sci_xrect( char *fname, unsigned long fname_len )
       endFigureDataReading(pFigure);
 #endif
 
-      tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_LINE_COLOR__, jni_int);
-      foreground = *tmp;
+      getGraphicObjectProperty(psubwin->UID, __GO_LINE_COLOR__, jni_int, &piForeground);
 
       GetRhsVar(1,MATRIX_OF_DOUBLE_DATATYPE,&m1,&n1,&l1); CheckScalar(1,m1,n1);
       GetRhsVar(2,MATRIX_OF_DOUBLE_DATATYPE,&m2,&n2,&l2); CheckScalar(2,m2,n2);
@@ -163,6 +162,6 @@ int sci_xrect( char *fname, unsigned long fname_len )
     C2F(putlhsvar)();
   }
   return 0;
-} 
+}
 
 /*--------------------------------------------------------------------------*/
index 80de287..4021b6d 100644 (file)
@@ -99,14 +99,15 @@ void reinitSubWin( sciPointObj * pSubWin )
 /* reinit the viewing angles of a subwindow */
 void initSubWinAngles( sciPointObj * pSubWin )
 {
-    int* viewType;
+    int iViewType = 0;
+    int* piViewType = &iViewType;
     double* rotationAngles;
     sciPointObj* axesModel = getAxesModel();
 
-    viewType = (int*) getGraphicObjectProperty(axesModel->UID, __GO_VIEW__, jni_int);
-    setGraphicObjectProperty(pSubWin->UID, __GO_VIEW__, viewType, jni_int, 1);
+    getGraphicObjectProperty(axesModel->UID, __GO_VIEW__, jni_int, &piViewType);
+    setGraphicObjectProperty(pSubWin->UID, __GO_VIEW__, iViewType, jni_int, 1);
 
-    rotationAngles = (double*) getGraphicObjectProperty(axesModel->UID, __GO_ROTATION_ANGLES__, jni_double_vector);
+    getGraphicObjectProperty(axesModel->UID, __GO_ROTATION_ANGLES__, jni_double_vector, &rotationAngles);
     setGraphicObjectProperty(pSubWin->UID, __GO_ROTATION_ANGLES__, rotationAngles, jni_double_vector, 2);
 
    /* To be implemented: last known values of the rotation angles when VIEW was equal to 3D */
@@ -132,47 +133,48 @@ void initSubWinSize( sciPointObj * pSubWin )
 /* set the data_bounds of the axes to the default value */
 void initSubWinBounds( sciPointObj * pSubWin )
 {
-  double* dataBounds;
-  double* realDataBounds;
-  sciPointObj* axesModel;
+    double* dataBounds;
+    double* realDataBounds;
+    sciPointObj* axesModel;
 
-  axesModel = getAxesModel();
+    axesModel = getAxesModel();
 
-  dataBounds = (double*) getGraphicObjectProperty(pSubWin->UID, __GO_DATA_BOUNDS__, jni_double_vector);
-  setGraphicObjectProperty(pSubWin->UID, __GO_DATA_BOUNDS__, dataBounds, jni_double_vector, 6);
+    getGraphicObjectProperty(pSubWin->UID, __GO_DATA_BOUNDS__, jni_double_vector, &dataBounds);
+    setGraphicObjectProperty(pSubWin->UID, __GO_DATA_BOUNDS__, dataBounds, jni_double_vector, 6);
 
-  realDataBounds = (double*) getGraphicObjectProperty(pSubWin->UID, __GO_REAL_DATA_BOUNDS__, jni_double_vector);
-  setGraphicObjectProperty(pSubWin->UID, __GO_REAL_DATA_BOUNDS__, realDataBounds, jni_double_vector, 6);
+    getGraphicObjectProperty(pSubWin->UID, __GO_REAL_DATA_BOUNDS__, jni_double_vector, &realDataBounds);
+    setGraphicObjectProperty(pSubWin->UID, __GO_REAL_DATA_BOUNDS__, realDataBounds, jni_double_vector, 6);
 }
 /*--------------------------------------------------------------------------------*/
 /* reinit the selected subwindow if the auto_clear property is set to on */
 /* return TRUE if the window has been redrawn */
 BOOL checkRedrawing( void )
 {
-  int* autoClear;
+    int iAutoClear = 0;
+    int* piAutoClear = &iAutoClear;
 
-  //  nbCheckRedraw++;
-  //  fprintf(stderr, "[DEBUG] checkRedrawing : %d\n", nbCheckRedraw);
-  sciPointObj * pSubWin = sciGetCurrentSubWin();
+    //  nbCheckRedraw++;
+    //  fprintf(stderr, "[DEBUG] checkRedrawing : %d\n", nbCheckRedraw);
+    sciPointObj * pSubWin = sciGetCurrentSubWin();
 
-  autoClear = (int*) getGraphicObjectProperty(pSubWin->UID, __GO_AUTO_CLEAR__, jni_bool);
+    getGraphicObjectProperty(pSubWin->UID, __GO_AUTO_CLEAR__, jni_bool, &piAutoClear);
 
-  if (*autoClear)
-  {
-    reinitSubWin(pSubWin);
+    if (iAutoClear)
+    {
+        reinitSubWin(pSubWin);
 
-   /*
-    * Deactivated for now: forces redrawing by telling the renderer module
-    * that the Axes object has changed
-    * To be implemented
-    */
+        /*
+         * Deactivated for now: forces redrawing by telling the renderer module
+         * that the Axes object has changed
+         * To be implemented
+         */
 #if 0
-    forceRedraw(pSubWin);
+        forceRedraw(pSubWin);
 #endif
-    return TRUE;
-  }
+        return TRUE;
+    }
 
-  return FALSE;
+    return FALSE;
 }
 /*--------------------------------------------------------------------------------*/
 /**
index 98bcf9e..3985dda 100644 (file)
@@ -945,16 +945,20 @@ sciPointObj * allocatePolyline(sciPointObj * pparentsubwin, double *pvecx, doubl
   double arrowSizeFactor;
   double* clipRegion;
   double* dataVector;
-  int clipState;
+  int clipState = 0;
+  int *piClipState = &clipState;
   int lineClosed;
   int numElementsArray[2];
   int polylineStyle;
-  int visible;
+  int visible = 0;
+  int* piVisible = &visible;
   int zCoordinatesSet;
   int* tmp;
-  int clipRegionSet;
+  int clipRegionSet = 0;
+  int *piClipRegionSet = &clipRegionSet;
 
-  type = (char*) getGraphicObjectProperty(pparentsubwin->UID, __GO_TYPE__, jni_string);
+
+  getGraphicObjectProperty(pparentsubwin->UID, __GO_TYPE__, jni_string, &type);
 
   if (strcmp(type, __GO_AXES__) != 0)
   {
@@ -1006,8 +1010,7 @@ sciPointObj * allocatePolyline(sciPointObj * pparentsubwin, double *pvecx, doubl
   pPOLYLINE_FEATURE (pobj)->callbackevent = 100;
 #endif
 
-  tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_VISIBLE__, jni_bool);
-  visible = *tmp;
+  getGraphicObjectProperty(pparentsubwin->UID, __GO_VISIBLE__, jni_bool, &piVisible);
 
   setGraphicObjectProperty(pobj->UID, __GO_VISIBLE__, &visible, jni_bool, 1);
 
@@ -1022,15 +1025,13 @@ sciPointObj * allocatePolyline(sciPointObj * pparentsubwin, double *pvecx, doubl
   /* Clip state and region */
   /* To be checked for consistency */
 
-  clipRegion = (double*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX__, jni_double_vector);
+  getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX__, jni_double_vector, &clipRegion);
   setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX__, clipRegion, jni_double_vector, 4);
 
-  tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX_SET__, jni_bool);
-  clipRegionSet = *tmp;
+  getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX_SET__, jni_bool, &piClipRegionSet);
   setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX_SET__, &clipRegionSet, jni_bool, 1);
 
-  tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_STATE__, jni_int);
-  clipState = *tmp;
+  getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_STATE__, jni_int, &piClipState);
   setGraphicObjectProperty(pobj->UID, __GO_CLIP_STATE__, &clipState, jni_int, 1);
 
 
@@ -1175,7 +1176,7 @@ sciPointObj * allocatePolyline(sciPointObj * pparentsubwin, double *pvecx, doubl
   setGraphicObjectProperty(pobj->UID, __GO_LINE_MODE__, &isline, jni_bool, 1);
   setGraphicObjectProperty(pobj->UID, __GO_FILL_MODE__, &isfilled, jni_bool, 1);
 
-  /* shading interpolation vector and mode */ 
+  /* shading interpolation vector and mode */
   setGraphicObjectProperty(pobj->UID, __GO_INTERP_COLOR_MODE__, &isinterpshaded, jni_bool, 1);
 
   if(foreground != NULL)
@@ -1291,7 +1292,7 @@ ConstructPolyline (sciPointObj * pparentsubwin, double *pvecx, double *pvecy, do
 
   /* allocatePolyline created a "fake" relationship, destroy it */
   /*
-   * Deactivated since the sciPolyline struct is not used anymore 
+   * Deactivated since the sciPolyline struct is not used anymore
    * and sciStandardBuildOperations uses the obsolete C hierarchical
    * relationships.
    * The operations still relevant are performed below
@@ -1341,13 +1342,17 @@ ConstructArc (sciPointObj * pparentsubwin, double x, double y,
     double upperLeftPoint[3];
     double* clipRegion;
     int* tmp;
-    int visible;
-    int arcDrawingMethod;
-    int clipRegionSet;
-    int clipState;
+    int visible = 0;
+    int *piVisible = &visible;
+    int arcDrawingMethod = 0;
+    int *piArcDrawingMethod = &arcDrawingMethod;
+    int clipRegionSet = 0;
+    int *piClipRegionSet = &clipRegionSet;
+    int clipState = 0;
+    int *piClipState = &clipState;
     sciPointObj * pobj  = (sciPointObj *) NULL;
 
-    type = (char*) getGraphicObjectProperty(pparentsubwin->UID, __GO_TYPE__, jni_string);
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_TYPE__, jni_string, &type);
 
     if (strcmp(type, __GO_AXES__) != 0)
     {
@@ -1392,13 +1397,11 @@ ConstructArc (sciPointObj * pparentsubwin, double x, double y,
     ppArc->isselected = TRUE;
 #endif
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_VISIBLE__, jni_bool);
-    visible = *tmp;
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_VISIBLE__, jni_bool, &piVisible);
 
     setGraphicObjectProperty(pobj->UID, __GO_VISIBLE__, &visible, jni_bool, 1);
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_ARC_DRAWING_METHOD__, jni_int);
-    arcDrawingMethod = *tmp;
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_ARC_DRAWING_METHOD__, jni_int, &piArcDrawingMethod);
 
     setGraphicObjectProperty(pobj->UID, __GO_ARC_DRAWING_METHOD__, &arcDrawingMethod, jni_int, 1);
 
@@ -1415,15 +1418,13 @@ ConstructArc (sciPointObj * pparentsubwin, double x, double y,
      * Clip state and region
      * To be checked for consistency
      */
-    clipRegion = (double*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX__, jni_double_vector);
-    setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX__, clipRegion, jni_double_vector, 4);
+      getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX__, jni_double_vector, &clipRegion);
+      setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX__, clipRegion, jni_double_vector, 4);
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX_SET__, jni_bool);
-    clipRegionSet = *tmp;
-    setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX_SET__, &clipRegionSet, jni_bool, 1);
+      getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX_SET__, jni_bool, &piClipRegionSet);
+      setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX_SET__, &clipRegionSet, jni_bool, 1);
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_STATE__, jni_int);
-    clipState = *tmp;
+      getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_STATE__, jni_int, &piClipState);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_STATE__, &clipState, jni_int, 1);
 
 
@@ -1462,7 +1463,7 @@ ConstructArc (sciPointObj * pparentsubwin, double x, double y,
      * Sets the Axes as the arc's parent and adds the arc to
      * its parent's list of children.
      */
-    setGraphicObjectRelationship(pparentsubwin->UID, pobj->UID); 
+    setGraphicObjectRelationship(pparentsubwin->UID, pobj->UID);
 
     return pobj;
 }
@@ -1480,10 +1481,13 @@ ConstructRectangle (sciPointObj * pparentsubwin, double x, double y,
     char* type;
     double upperLeftPoint[3];
     double* clipRegion;
-    int visible;
+    int visible = 0;
+    int *piVisible = &visible;
     int* tmp;
-    int clipRegionSet;
-    int clipState;
+    int clipRegionSet = 0;
+    int *piClipRegionSet = &clipRegionSet;
+    int clipState = 0;
+    int *piClipState = &clipState;
 
     sciPointObj *pobj = (sciPointObj *) NULL;
 
@@ -1493,7 +1497,7 @@ ConstructRectangle (sciPointObj * pparentsubwin, double x, double y,
         return NULL;
     }
 
-    type = (char*) getGraphicObjectProperty(pparentsubwin->UID, __GO_TYPE__, jni_string);
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_TYPE__, jni_string, &type);
 
     if (strcmp(type, __GO_AXES__) != 0)
     {
@@ -1535,9 +1539,7 @@ ConstructRectangle (sciPointObj * pparentsubwin, double x, double y,
     pRECTANGLE_FEATURE (pobj)->isselected = TRUE;
 #endif
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_VISIBLE__, jni_bool);
-    visible = *tmp;
-
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_VISIBLE__, jni_bool, &piVisible);
     setGraphicObjectProperty(pobj->UID, __GO_VISIBLE__, &visible, jni_bool, 1);
 
     /* Clipping: to be checked */
@@ -1550,15 +1552,13 @@ ConstructRectangle (sciPointObj * pparentsubwin, double x, double y,
     /* Clip state and region */
     /* To be checked for consistency */
 
-    clipRegion = (double*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX__, jni_double_vector);
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX__, jni_double_vector, &clipRegion);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX__, clipRegion, jni_double_vector, 4);
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX_SET__, jni_bool);
-    clipRegionSet = *tmp;
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX_SET__, jni_bool, &piClipRegionSet);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX_SET__, &clipRegionSet, jni_bool, 1);
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_STATE__, jni_int);
-    clipState = *tmp;
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_STATE__, jni_int, &piClipState);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_STATE__, &clipState, jni_int, 1);
 
     /*
@@ -1600,7 +1600,7 @@ ConstructRectangle (sciPointObj * pparentsubwin, double x, double y,
      * Sets the Axes as the rectangle's parent and adds the rectangle to
      * its parent's list of children.
      */
-    setGraphicObjectRelationship(pparentsubwin->UID, pobj->UID); 
+    setGraphicObjectRelationship(pparentsubwin->UID, pobj->UID);
 
     return pobj;
 }
@@ -1634,11 +1634,15 @@ ConstructSurface (sciPointObj * pparentsubwin, sciTypeOf3D typeof3d,
     int i=0, j=0;
     int nx,ny,nz,nc,izc=izcol;
     int result;
-    int clipRegionSet;
-    int clipState;
-    int visible;
+    int clipRegionSet = 0;
+    int *piClipRegionSet = &clipRegionSet;
+    int clipState = 0;
+    int *piClipState = &clipState;
+    int visible = 0;
+    int *piVisible = &visible;
     int cdataMapping;
-    int hiddenColor;
+    int hiddenColor = 0;
+    int *piHiddenColor = &hiddenColor;
     int surfaceMode;
     int* tmp;
 
@@ -1689,7 +1693,7 @@ ConstructSurface (sciPointObj * pparentsubwin, sciTypeOf3D typeof3d,
         }
     }
 
-    parentType = (char*) getGraphicObjectProperty(pparentsubwin->UID, __GO_TYPE__, jni_string);
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_TYPE__, jni_string, &parentType);
 
     /* test using sciGetEntityType replaced by a test on the type string */
     if (strcmp(parentType, __GO_AXES__) != 0)
@@ -1723,20 +1727,17 @@ ConstructSurface (sciPointObj * pparentsubwin, sciTypeOf3D typeof3d,
     /* Clip state and region */
     /* To be checked for consistency */
 
-    clipRegion = (double*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX__, jni_double_vector);
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX__, jni_double_vector, &clipRegion);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX__, clipRegion, jni_double_vector, 4);
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX_SET__, jni_bool);
-    clipRegionSet = *tmp;
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX_SET__, jni_bool, &piClipRegionSet);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX_SET__, &clipRegionSet, jni_bool, 1);
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_STATE__, jni_int);
-    clipState = *tmp;
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_STATE__, jni_int, &piClipState);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_STATE__, &clipState, jni_int, 1);
 
     /* Visibility */
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_VISIBLE__, jni_bool);
-    visible = *tmp;
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_VISIBLE__, jni_bool, &piVisible);
 
     setGraphicObjectProperty(pobj->UID, __GO_VISIBLE__, &visible, jni_bool, 1);
 
@@ -1824,9 +1825,7 @@ ConstructSurface (sciPointObj * pparentsubwin, sciTypeOf3D typeof3d,
     psurf->ebox[5] = ebox[5];
 #endif
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_HIDDEN_COLOR__, jni_int);
-    hiddenColor = *tmp;
-
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_HIDDEN_COLOR__, jni_int, &piHiddenColor);
     setGraphicObjectProperty(pobj->UID, __GO_HIDDEN_COLOR__, &hiddenColor, jni_int, 1);
 
     /*
@@ -1889,14 +1888,17 @@ ConstructGrayplot (sciPointObj * pparentsubwin, double *pvecx, double *pvecy,
     int dataMapping;
     int gridSize[4];
 
-    int parentVisible;
+    int parentVisible = 0;
+    int *piParentVisible = &parentVisible;
     double* clipRegion;
-    int clipRegionSet;
-    int clipState;
+    int clipRegionSet = 0;
+    int *piClipRegionSet = &clipRegionSet;
+    int clipState = 0;
+    int *piClipState = &clipState;
     int* tmp;
     int numElements;
 
-    typeParent = (char*) getGraphicObjectProperty(pparentsubwin->UID, __GO_TYPE__, jni_string);
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_TYPE__, jni_string, &typeParent);
 
     if (strcmp(typeParent, __GO_AXES__) != 0)
     {
@@ -2014,23 +2016,20 @@ ConstructGrayplot (sciPointObj * pparentsubwin, double *pvecx, double *pvecy,
     setGraphicObjectRelationship(pparentsubwin->UID, pobj->UID);
 
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_VISIBLE__, jni_bool);
-    parentVisible = *tmp;
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_VISIBLE__, jni_bool, &piParentVisible);
     setGraphicObjectProperty(pobj->UID, __GO_VISIBLE__, &parentVisible, jni_bool, 1);
 
    /*
     * Clip state and region
     * To be checked for consistency
     */
-    clipRegion = (double*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX__, jni_double_vector);
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX__, jni_double_vector, &clipRegion);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX__, clipRegion, jni_double_vector, 4);
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX_SET__, jni_bool);
-    clipRegionSet = *tmp;
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX_SET__, jni_bool, &piClipRegionSet);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX_SET__, &clipRegionSet, jni_bool, 1);
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_STATE__, jni_int);
-    clipState = *tmp;
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_STATE__, jni_int, &piClipState);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_STATE__, &clipState, jni_int, 1);
 
     if (sciInitGraphicContext (pobj) == -1)
@@ -2220,15 +2219,19 @@ ConstructFec (sciPointObj * pparentsubwin, double *pvecx, double *pvecy, double
     int result;
 
     char* parentType;
-    int* parentVisible;
+    int parentVisible = 0;
+    int *piParentVisible = &parentVisible;
+
     int lineMode;
 
     double* clipRegion;
-    int clipRegionSet;
-    int clipState;
+    int clipRegionSet = 0;
+    int *piClipRegionSet = &clipRegionSet;
+    int clipState = 0;
+    int *piClipState = &piClipState;
     int* tmp;
 
-    parentType = (char*) getGraphicObjectProperty(pparentsubwin->UID, __GO_TYPE__, jni_string);
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_TYPE__, jni_string, &parentType);
 
     /* test using sciGetEntityType replaced by a test on the type string */
     if (strcmp(parentType, __GO_AXES__) != 0)
@@ -2315,8 +2318,8 @@ ConstructFec (sciPointObj * pparentsubwin, double *pvecx, double *pvecy, double
     pFEC_FEATURE (pobj)->visible = sciGetVisibility(sciGetParentSubwin(pobj));
 #endif
 
-    parentVisible = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_VISIBLE__, jni_bool);
-    setGraphicObjectProperty(pobj->UID, __GO_VISIBLE__, parentVisible, jni_bool, 1);
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_VISIBLE__, jni_bool, &piParentVisible);
+    setGraphicObjectProperty(pobj->UID, __GO_VISIBLE__, &parentVisible, jni_bool, 1);
 
     /* Clipping: to be checked */
 #if 0
@@ -2328,15 +2331,13 @@ ConstructFec (sciPointObj * pparentsubwin, double *pvecx, double *pvecy, double
     * Clip state and region
     * To be checked for consistency
     */
-    clipRegion = (double*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX__, jni_double_vector);
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX__, jni_double_vector, &clipRegion);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX__, clipRegion, jni_double_vector, 4);
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX_SET__, jni_bool);
-    clipRegionSet = *tmp;
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_BOX_SET__, jni_bool, &piClipRegionSet);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX_SET__, &clipRegionSet, jni_bool, 1);
 
-    tmp = (int*) getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_STATE__, jni_int);
-    clipState = *tmp;
+    getGraphicObjectProperty(pparentsubwin->UID, __GO_CLIP_STATE__, jni_int, &piClipState);
     setGraphicObjectProperty(pobj->UID, __GO_CLIP_STATE__, &clipState, jni_int, 1);
 
     if (sciInitGraphicContext (pobj) == -1)
@@ -2586,7 +2587,8 @@ ConstructCompound (long *handelsvalue, int number) /* Conflicting types with def
   sciAgreg    * ppCompound;
 #endif
   int i;
-  int* parentVisible;
+  int parentVisible = 0;
+  int *piParentVisible = &parentVisible;
   char* parentAxes;
 
   if ((compound = MALLOC ((sizeof (sciPointObj)))) == NULL)
@@ -2616,7 +2618,7 @@ ConstructCompound (long *handelsvalue, int number) /* Conflicting types with def
 
   /* The Compound's parent Axes is considered to be the Compound's first child's own parent */
   firstMovedObject = sciGetPointerFromHandle( (long) handelsvalue[0]);
-  parentAxes = (char*) getGraphicObjectProperty(firstMovedObject->UID, __GO_PARENT__, jni_string);
+  getGraphicObjectProperty(firstMovedObject->UID, __GO_PARENT__, jni_string, &parentAxes);
 
   /* Set the parent-child relationship between the Compound and each aggregated object */
   for ( i = 0 ; i < number ; i++ )
@@ -2643,8 +2645,8 @@ ConstructCompound (long *handelsvalue, int number) /* Conflicting types with def
   ppCompound->visible = sciGetVisibility(sciGetParentSubwin(compound));
 #endif
 
-  parentVisible = (int*) getGraphicObjectProperty(parentAxes, __GO_VISIBLE__, jni_bool);
-  setGraphicObjectProperty(compound->UID, __GO_VISIBLE__, parentVisible, jni_bool, 1);
+  getGraphicObjectProperty(parentAxes, __GO_VISIBLE__, jni_bool, &piParentVisible);
+  setGraphicObjectProperty(compound->UID, __GO_VISIBLE__, &parentVisible, jni_bool, 1);
 
  /*
   * Not implemented within the MVC yet
index b3ceb58..a5fd943 100644 (file)
@@ -310,8 +310,10 @@ sciCopyObj (sciPointObj * pobj, sciPointObj * psubwinparenttarget )
  */
 int cloneGraphicContext(char* sourceIdentifier, char* destIdentifier)
 {
-    double* doubleTmp;
-    int* tmp;
+    double dblTmp = 0.0;
+    double *pdblTmp = &dblTmp;
+    int iTmp = 0;
+    int *piTmp = &iTmp;
 
     int lineMode;
     int foreground;
@@ -325,14 +327,14 @@ int cloneGraphicContext(char* sourceIdentifier, char* destIdentifier)
     int markSizeUnit;
     double lineThickness;
 
-    tmp = (int*) getGraphicObjectProperty(sourceIdentifier, __GO_LINE_MODE__, jni_bool);
-    lineMode = *tmp;
-    tmp = (int*) getGraphicObjectProperty(sourceIdentifier, __GO_LINE_COLOR__, jni_int);
-    foreground = *tmp;
-    doubleTmp = (double*) getGraphicObjectProperty(sourceIdentifier, __GO_LINE_THICKNESS__, jni_double);
-    lineThickness = *doubleTmp;
-    tmp = (int*) getGraphicObjectProperty(sourceIdentifier, __GO_LINE_STYLE__, jni_int);
-    lineStyle = *tmp;
+    getGraphicObjectProperty(sourceIdentifier, __GO_LINE_MODE__, jni_bool, &piTmp);
+    lineMode = iTmp;
+    getGraphicObjectProperty(sourceIdentifier, __GO_LINE_COLOR__, jni_int, &piTmp);
+    foreground = iTmp;
+    getGraphicObjectProperty(sourceIdentifier, __GO_LINE_THICKNESS__, jni_double, &pdblTmp);
+    lineThickness = dblTmp;
+    getGraphicObjectProperty(sourceIdentifier, __GO_LINE_STYLE__, jni_int, &piTmp);
+    lineStyle = iTmp;
 
     /*
      * Commented out since there is a confusion between Axes' FILLED property
@@ -344,19 +346,19 @@ int cloneGraphicContext(char* sourceIdentifier, char* destIdentifier)
     fillMode = *tmp;
 #endif
 
-    tmp = (int*) getGraphicObjectProperty(sourceIdentifier, __GO_BACKGROUND__, jni_int);
-    background = *tmp;
-
-    tmp = (int*) getGraphicObjectProperty(sourceIdentifier, __GO_MARK_FOREGROUND__, jni_int);
-    markForeground = *tmp;
-    tmp = (int*) getGraphicObjectProperty(sourceIdentifier, __GO_MARK_BACKGROUND__, jni_int);
-    markBackground = *tmp;
-    tmp = (int*) getGraphicObjectProperty(sourceIdentifier, __GO_MARK_STYLE__, jni_int);
-    markStyle = *tmp;
-    tmp = (int*) getGraphicObjectProperty(sourceIdentifier, __GO_MARK_SIZE__, jni_int);
-    markSize = *tmp;
-    tmp = (int*) getGraphicObjectProperty(sourceIdentifier, __GO_MARK_SIZE_UNIT__, jni_int);
-    markSizeUnit = *tmp;
+    getGraphicObjectProperty(sourceIdentifier, __GO_BACKGROUND__, jni_int, &piTmp);
+    background = iTmp;
+
+    getGraphicObjectProperty(sourceIdentifier, __GO_MARK_FOREGROUND__, jni_int, &piTmp);
+    markForeground = iTmp;
+    getGraphicObjectProperty(sourceIdentifier, __GO_MARK_BACKGROUND__, jni_int, &piTmp);
+    markBackground = iTmp;
+    getGraphicObjectProperty(sourceIdentifier, __GO_MARK_STYLE__, jni_int, &piTmp);
+    markStyle = iTmp;
+    getGraphicObjectProperty(sourceIdentifier, __GO_MARK_SIZE__, jni_int, &piTmp);
+    markSize = iTmp;
+    getGraphicObjectProperty(sourceIdentifier, __GO_MARK_SIZE_UNIT__, jni_int, &piTmp);
+    markSizeUnit = iTmp;
 
     setGraphicObjectProperty(destIdentifier, __GO_LINE_MODE__, &lineMode, jni_bool, 1);
     setGraphicObjectProperty(destIdentifier, __GO_LINE_COLOR__, &foreground, jni_int, 1);
index cb36b4a..2296cc5 100644 (file)
@@ -49,7 +49,7 @@ sciPointObj * sciGetCurrentFigure( void )
 {
   /* debug F.Leray 22.07.04 */
   sciPointObj * pFigure = getCurrentPointedFigure();
-  sciPointObj* newaxes = NULL;  
+  sciPointObj* newaxes = NULL;
 
   if( !sciHasFigures() )
   {
@@ -140,14 +140,15 @@ sciPointObj * sciGetCurrentSubWin( void )
 {
   sciPointObj * currentFigure = sciGetCurrentFigure();
   sciPointObj * currentSubwin = NULL;
-  int* nbChildren;
+  int iNbChildren = 0;
+  int *piNbChildren = &iNbChildren;
   char** children;
 
   if ( currentFigure == NULL ) { return NULL ; }
 
-  nbChildren = (int*) getGraphicObjectProperty(currentFigure->UID, __GO_CHILDREN_COUNT__, jni_int);
+  getGraphicObjectProperty(currentFigure->UID, __GO_CHILDREN_COUNT__, jni_int, &piNbChildren);
 
-  if (*nbChildren == 0)
+  if (iNbChildren == 0)
   {
     return NULL;
   }
@@ -156,7 +157,7 @@ sciPointObj * sciGetCurrentSubWin( void )
    * At the present moment, a figure is considered to have a unique Axes child object.
    * To be re-implemented, taking into account the last selected child object.
    */
-  children = (char**) getGraphicObjectProperty(currentFigure->UID, __GO_CHILDREN__, jni_string_vector);
+  getGraphicObjectProperty(currentFigure->UID, __GO_CHILDREN__, jni_string_vector, &children);
 
   currentSubwin = MALLOC(sizeof(sciPointObj));
 
index b6b9f79..88d0db5 100644 (file)
@@ -131,20 +131,21 @@ void sciGetDisplayedBounds( sciPointObj * pSubWin,
      * get initial bounds
    *****************************************************************/
 
-  int* tmp;
-  int* zoomEnabled;
+  int iZoomEnabled = 0;
+  int* piZoomEnabled = &iZoomEnabled;
   double* bounds;
-  int logFlag;
+  int iLogFlag = 0;
+  int *piLogFlag = &iLogFlag;
 
-  zoomEnabled = (int*) getGraphicObjectProperty(pSubWin->UID, __GO_ZOOM_ENABLED__, jni_bool);
+  getGraphicObjectProperty(pSubWin->UID, __GO_ZOOM_ENABLED__, jni_bool, &piZoomEnabled);
 
-  if (*zoomEnabled)
+  if (iZoomEnabled)
   {
-    bounds = (double*) getGraphicObjectProperty(pSubWin->UID, __GO_ZOOM_BOX__, jni_double_vector);
+      getGraphicObjectProperty(pSubWin->UID, __GO_ZOOM_BOX__, jni_double_vector, &bounds);
   }
   else
   {
-    bounds = (double*) getGraphicObjectProperty(pSubWin->UID, __GO_DATA_BOUNDS__, jni_double_vector);
+      getGraphicObjectProperty(pSubWin->UID, __GO_DATA_BOUNDS__, jni_double_vector, &bounds);
   }
 
   *xmin = bounds[0];
@@ -158,10 +159,9 @@ void sciGetDisplayedBounds( sciPointObj * pSubWin,
    * modify  bounds and aaint  if using log scaling X axis
    *****************************************************************/
 
-  tmp = (int*) getGraphicObjectProperty(pSubWin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool);
-  logFlag = *tmp;
+  getGraphicObjectProperty(pSubWin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool, &piLogFlag);
 
-  if (logFlag == 1)
+  if (iLogFlag == 1)
   {
     if ( sciGetLogExponent( *xmin, *xmax, xmin, xmax ) != 0 )
     {
@@ -173,10 +173,9 @@ void sciGetDisplayedBounds( sciPointObj * pSubWin,
    * modify  bounds and aaint  if using log scaling Y axis
    *****************************************************************/
 
-  tmp = (int*) getGraphicObjectProperty(pSubWin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool);
-  logFlag = *tmp;
+  getGraphicObjectProperty(pSubWin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool, &piLogFlag);
 
-  if (logFlag == 1)
+  if (iLogFlag == 1)
   {
     if ( sciGetLogExponent( *ymin, *ymax, ymin, ymax ) != 0 )
     {
@@ -188,10 +187,9 @@ void sciGetDisplayedBounds( sciPointObj * pSubWin,
    * modify  bounds and aaint  if using log scaling Z axis
    *****************************************************************/
 
-  tmp = (int*) getGraphicObjectProperty(pSubWin->UID, __GO_Z_AXIS_LOG_FLAG__, jni_bool);
-  logFlag = *tmp;
+  getGraphicObjectProperty(pSubWin->UID, __GO_Z_AXIS_LOG_FLAG__, jni_bool, &piLogFlag);
 
-  if (logFlag == 1)
+  if (iLogFlag == 1)
   {
     if ( sciGetLogExponent( *zmin, *zmax, zmin, zmax ) != 0 )
     {
@@ -214,7 +212,7 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
   double hx,hy,hx1,hy1;
   int i;
 
-  double FRect[4],WRect[4],ARect[4]; 
+  double FRect[4],WRect[4],ARect[4];
   char logscale[2];
 
   /* Temp variables only used when called from update_specification_bounds */
@@ -224,8 +222,10 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
   double updatedDataBounds[6];
   int logFlags[2];
 
-  int tightLimits;
-  int isoview;
+  int tightLimits = 0;
+  int *piTightLimits = &tightLimits;
+  int isoview = 0;
+  int * piIsoView = &isoview;
 
   /* in order to determine whether or not the bounds have changed... */
   int nbsubtics[2];
@@ -239,8 +239,13 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
   int updatedNxgrads;
   int updatedNygrads;
 
-  int nbxsubticks;
-  int nbysubticks;
+  int nbxsubticks = 0;
+  int *piNbXSubticks = &nbxsubticks;
+  int nbysubticks = 0;
+  int *piNbYSubticks = &nbysubticks;
+
+  int iLogFlag = 0;
+  int *piLogFlag = &iLogFlag;
 
   /* Used to print labels */
   char** stringVector;
@@ -251,17 +256,17 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
   /* Get the initial data bounds, number of ticks and number of subticks */
 
   /* Formerly FRect */
-  previousDataBounds = (double*) getGraphicObjectProperty(pobj->UID, __GO_REAL_DATA_BOUNDS__, jni_double_vector);
+  getGraphicObjectProperty(pobj->UID, __GO_REAL_DATA_BOUNDS__, jni_double_vector, &previousDataBounds);
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int);
-  nbsubtics[0] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int);
-  nbsubtics[1] = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int, &piNbXSubticks);
+  nbsubtics[0] = nbxsubticks;
+  getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int, &piNbYSubticks);
+  nbsubtics[1] = nbysubticks;
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_NUMBER_TICKS__, jni_int);
-  nbgrads[0] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_NUMBER_TICKS__, jni_int);
-  nbgrads[1] = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_NUMBER_TICKS__, jni_int, &piNbXSubticks);
+  nbgrads[0] = nbxsubticks;
+  getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_NUMBER_TICKS__, jni_int, &piNbYSubticks);
+  nbgrads[1] = nbysubticks;
 
   /* Sets the z-axis number of ticks to 0 */
   setGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_TICKS_LOCATIONS__, NULL, jni_double_vector, 0);
@@ -284,14 +289,13 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
    * to the data bounds.
    */
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool);
-  logFlags[0] = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool, &piLogFlag);
+  logFlags[0] = iLogFlag;
 
   /* x-axis */
   if (logFlags[0] == 0)
   {
-    tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int);
-    nbxsubticks = *tmp;
+      getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int, &piNbXSubticks);
 
     TheTicks(&xmin, &xmax, &xGrads[0], &updatedNxgrads, FALSE);
 
@@ -303,8 +307,7 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
   }
   else
   {
-    tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int);
-    nbxsubticks = *tmp;
+      getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int, &piNbXSubticks);
 
     GradLog(xmin, xmax, &xGrads[0], &updatedNxgrads, FALSE);
 
@@ -326,14 +329,13 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
   destroyStringArray(stringVector, updatedNxgrads);
 
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool);
-  logFlags[1] = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool, &piLogFlag);
+  logFlags[1] = iLogFlag;
 
   /* y-axis */
   if (logFlags[1] == 0)
   {
-    tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int);
-    nbysubticks = *tmp;
+      getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int, &piNbYSubticks);
 
     TheTicks(&ymin, &ymax, &yGrads[0], &updatedNygrads, FALSE);
 
@@ -346,8 +348,7 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
   }
   else
   {
-    tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int);
-    nbysubticks = *tmp;
+      getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int, &piNbYSubticks);
 
     GradLog(ymin, ymax, &yGrads[0], &updatedNygrads, FALSE);
 
@@ -370,8 +371,7 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
   destroyStringArray(stringVector, updatedNygrads);
 
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_TIGHT_LIMITS__, jni_bool);
-  tightLimits = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_TIGHT_LIMITS__, jni_bool, &piTightLimits);
 
   if (tightLimits == FALSE)
   {
@@ -384,8 +384,7 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
   /*****************************************************************
    * modify  bounds if  isoview requested
    *****************************************************************/
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_ISOVIEW__, jni_bool);
-  isoview = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_ISOVIEW__, jni_bool, &piIsoView);
 
   /*
    * Depending on the high-level function calling update_specification_bounds, this section
@@ -400,13 +399,13 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
     char* parentId;
     int* figureDimensions;
 
-    parentId = (char*) getGraphicObjectProperty(pobj->UID, __GO_PARENT__, jni_string);
+    getGraphicObjectProperty(pobj->UID, __GO_PARENT__, jni_string, &parentId);
 
     /*
      * Window width and height are currently 0 (default Figure values)
      * To be implemented within the MVC (by copying the Figure model's values)
      */
-    figureDimensions = (int*) getGraphicObjectProperty(parentId, __GO_SIZE__, jni_int_vector);
+    getGraphicObjectProperty(parentId, __GO_SIZE__, jni_int_vector, &figureDimensions);
     wdim[0] = figureDimensions[0];
     wdim[1] = figureDimensions[1];
 
@@ -518,12 +517,12 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
     }
   }
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int);
-  updatedNbsubtics[0] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int);
-  updatedNbsubtics[1] = *tmp;
-   
-  for(i=0;i<2;i++) 
+  getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int, &piNbXSubticks);
+  updatedNbsubtics[0] = nbxsubticks;
+  getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int, &piNbYSubticks);
+  updatedNbsubtics[1] = nbysubticks;
+
+  for(i=0;i<2;i++)
   {
     if(nbsubtics[i] != updatedNbsubtics[i])
     {
@@ -532,14 +531,14 @@ BOOL sci_update_frame_bounds_2d(sciPointObj *pobj)
     }
   }
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_NUMBER_TICKS__, jni_int);
-  updatedNxgrads = *tmp;
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_NUMBER_TICKS__, jni_int);
-  updatedNygrads = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_NUMBER_TICKS__, jni_int, &piNbXSubticks);
+  updatedNxgrads = nbxsubticks;
+  getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_NUMBER_TICKS__, jni_int, &piNbYSubticks);
+  updatedNygrads = nbysubticks;
 
   if(nbgrads[0] != updatedNxgrads) return TRUE;
   if(nbgrads[1] != updatedNygrads) return TRUE;
-   
+
   return FALSE;
 }
 
@@ -561,14 +560,16 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
   double updatedDataBounds[6];
 
   int logFlags[3];
-  int tightLimits;
+  int tightLimits = 0;
+  int *piTightLimits = &tightLimits;
 
   /* in order to determine whether or not the bounds have changed... */
   int nbsubtics[3];
   int nbgrads[3];
   int updatedNbsubtics[3];
 
-  int *tmp;
+  int iLogFlag = 0;
+  int *piLogFlag = &iLogFlag;
 
   /* Temporary variables for ticks computation */
   double xGrads[20];
@@ -579,9 +580,12 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
   int updatedNygrads;
   int updatedNzgrads;
 
-  int nbxsubticks;
-  int nbysubticks;
-  int nbzsubticks;
+  int nbxsubticks = 0;
+  int *piNbXSubticks = &nbxsubticks;
+  int nbysubticks = 0;
+  int *piNbYSubticks = &nbysubticks;
+  int nbzsubticks = 0;
+  int *piNbZSubticks = &nbzsubticks;
 
   /* Used to print labels */
   char** stringVector;
@@ -589,21 +593,21 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
   /* End of Temp variables */
 
   /* Formerly FRect */
-  previousDataBounds = (double*) getGraphicObjectProperty(pobj->UID, __GO_REAL_DATA_BOUNDS__, jni_double_vector);
+  getGraphicObjectProperty(pobj->UID, __GO_REAL_DATA_BOUNDS__, jni_double_vector, &previousDataBounds);
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int);
-  nbsubtics[0] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int);
-  nbsubtics[1] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_SUBTICKS__, jni_int);
-  nbsubtics[2] = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int, &piNbXSubticks);
+  nbsubtics[0] = nbxsubticks;
+  getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int, &piNbYSubticks);
+  nbsubtics[1] = nbysubticks;
+  getGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_SUBTICKS__, jni_int, &piNbZSubticks);
+  nbsubtics[2] = nbzsubticks;
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_NUMBER_TICKS__, jni_int);
-  nbgrads[0] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_NUMBER_TICKS__, jni_int);
-  nbgrads[1] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_NUMBER_TICKS__, jni_int);
-  nbgrads[2] = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_NUMBER_TICKS__, jni_int, &piNbXSubticks);
+  nbgrads[0] = nbxsubticks;
+  getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_NUMBER_TICKS__, jni_int, &piNbYSubticks);
+  nbgrads[1] = nbysubticks;
+  getGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_NUMBER_TICKS__, jni_int, &piNbZSubticks);
+  nbgrads[2] = nbzsubticks;
 
 
   sciGetDisplayedBounds( pobj, &xmin, &xmax, &ymin, &ymax, &zmin, &zmax );
@@ -616,8 +620,8 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
       zGrads[i] = 0.0;
   }
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool);
-  logFlags[0] = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool, &piLogFlag);
+  logFlags[0] = iLogFlag;
 
   /*
    * The code generating labels should be moved inside the Java Model, which
@@ -627,8 +631,7 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
   /* x-axis */
   if (logFlags[0] == 0)
   {
-    tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int);
-    nbxsubticks = *tmp;
+      getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int, &piNbXSubticks);
 
     TheTicks(&xmin, &xmax, &xGrads[0], &updatedNxgrads, FALSE);
 
@@ -640,8 +643,7 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
   }
   else
   {
-    tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int);
-    nbxsubticks = *tmp;
+      getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int, &piNbXSubticks);
 
     GradLog(xmin, xmax, &xGrads[0], &updatedNxgrads, FALSE);
 
@@ -664,8 +666,7 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
   /* y-axis */
   if (logFlags[1] == 0)
   {
-    tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int);
-    nbysubticks = *tmp;
+      getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int, &piNbYSubticks);
 
     TheTicks(&ymin, &ymax, &yGrads[0], &updatedNygrads, FALSE);
 
@@ -678,8 +679,7 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
   }
   else
   {
-    tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int);
-    nbysubticks = *tmp;
+    getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int, &piNbYSubticks);
 
     GradLog(ymin, ymax, &yGrads[0], &updatedNygrads, FALSE);
 
@@ -703,8 +703,7 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
   /* z-axis */
   if (logFlags[2] == 0)
   {
-    tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_SUBTICKS__, jni_int);
-    nbzsubticks = *tmp;
+      getGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_SUBTICKS__, jni_int, &piNbZSubticks);
 
     TheTicks(&zmin, &zmax, &zGrads[0], &updatedNzgrads, FALSE);
 
@@ -717,8 +716,7 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
   }
   else
   {
-    tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_SUBTICKS__, jni_int);
-    nbzsubticks = *tmp;
+      getGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_SUBTICKS__, jni_int, &piNbZSubticks);
 
     GradLog(zmin, zmax, &zGrads[0], &updatedNzgrads, FALSE);
 
@@ -739,8 +737,7 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
 
   destroyStringArray(stringVector, updatedNzgrads);
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_TIGHT_LIMITS__, jni_bool);
-  tightLimits = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_TIGHT_LIMITS__, jni_bool, &piTightLimits);
 
   if (tightLimits == FALSE)
   {
@@ -770,12 +767,12 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
     }
   }
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int);
-  updatedNbsubtics[0] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int);
-  updatedNbsubtics[1] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_SUBTICKS__, jni_int);
-  updatedNbsubtics[2] = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_SUBTICKS__, jni_int, &piNbXSubticks);
+  updatedNbsubtics[0] = nbxsubticks;
+  getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_SUBTICKS__, jni_int, &piNbYSubticks);
+  updatedNbsubtics[1] = nbysubticks;
+  getGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_SUBTICKS__, jni_int, &piNbZSubticks);
+  updatedNbsubtics[2] = nbzsubticks;
 
   for(i=0;i<3;i++)
   {
@@ -786,12 +783,12 @@ BOOL sci_update_frame_bounds_3d(sciPointObj *pobj)
     }
   }
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_NUMBER_TICKS__, jni_int);
-  updatedNxgrads = *tmp;
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_NUMBER_TICKS__, jni_int);
-  updatedNygrads = *tmp;
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_NUMBER_TICKS__, jni_int);
-  updatedNzgrads = *tmp;
+  getGraphicObjectProperty(pobj->UID, __GO_X_AXIS_NUMBER_TICKS__, jni_int, &piNbXSubticks);
+  updatedNxgrads = nbxsubticks;
+  getGraphicObjectProperty(pobj->UID, __GO_Y_AXIS_NUMBER_TICKS__, jni_int, &piNbYSubticks);
+  updatedNygrads = nbysubticks;
+  getGraphicObjectProperty(pobj->UID, __GO_Z_AXIS_NUMBER_TICKS__, jni_int, &piNbZSubticks);
+  updatedNzgrads = nbzsubticks;
 
   if(nbgrads[0] != updatedNxgrads) return TRUE;
   if(nbgrads[1] != updatedNygrads) return TRUE;
@@ -848,7 +845,8 @@ int ComputeNbSubTics(sciPointObj * pobj, int nbtics, char logflag, const double
   sciSubWindow * ppsubwin = pSUBWIN_FEATURE (pobj);
 #endif
 
-  int* autoSubticks;
+  int iAutoSubticks = 0;
+  int* piAutoSubticks = &iAutoSubticks;
 
   if (nbtics_safe < 0 )
   {
@@ -918,14 +916,14 @@ int ComputeNbSubTics(sciPointObj * pobj, int nbtics, char logflag, const double
   }
   else /* linear scaling case */
   {
-    autoSubticks = (int*) getGraphicObjectProperty(pobj->UID, __GO_AUTO_SUBTICKS__, jni_bool);
+      getGraphicObjectProperty(pobj->UID, __GO_AUTO_SUBTICKS__, jni_bool, &piAutoSubticks);
 
 #if 0
     if(ppsubwin->flagNax == FALSE) /* if auto subtics mode == ON */
 #endif
 
     /* if auto subtics mode == ON */
-    if (*autoSubticks)
+    if (iAutoSubticks)
     {
       double intbase10 = 0.;
       /* Without graduations, use the heuristic */
@@ -986,7 +984,7 @@ int ComputeNbSubTics(sciPointObj * pobj, int nbtics, char logflag, const double
               return intvls/d - 1; /* subtics on intervals of intbase10 */
             }
           }
-          
+
           return 0;  /* Cannot fit enough subtics to cover intervals using m*intbase10 (0<m<10).  */
         }
       }
@@ -1161,10 +1159,10 @@ static BOOL subwinNeedsDisplay(sciPointObj * pSubwin)
       return TRUE;
     }
 
-    titleId = (char*) getGraphicObjectProperty(pSubwin->UID, __GO_TITLE__, jni_string);
-    xLabelId = (char*) getGraphicObjectProperty(pSubwin->UID, __GO_X_AXIS_LABEL__, jni_string);
-    yLabelId = (char*) getGraphicObjectProperty(pSubwin->UID, __GO_Y_AXIS_LABEL__, jni_string);
-    zLabelId = (char*) getGraphicObjectProperty(pSubwin->UID, __GO_Z_AXIS_LABEL__, jni_string);
+    getGraphicObjectProperty(pSubwin->UID, __GO_TITLE__, jni_string, &titleId);
+    getGraphicObjectProperty(pSubwin->UID, __GO_X_AXIS_LABEL__, jni_string, &xLabelId);
+    getGraphicObjectProperty(pSubwin->UID, __GO_Y_AXIS_LABEL__, jni_string, &yLabelId);
+    getGraphicObjectProperty(pSubwin->UID, __GO_Z_AXIS_LABEL__, jni_string, &zLabelId);
 
     /* Check that labels texts are empty */
     if (   !sciisTextEmpty(titleId)
index 8912cfc..31847d4 100644 (file)
@@ -2,14 +2,14 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 1998 - 2001 - ENPC - Jean-Philippe Chancelier
  * Copyright (C) 2005-2008 - INRIA - Jean-Baptiste Silvy
- * Copyright (C) 2001 -  Bruno Pincon (for gain in speed and added 
- *    possibilities to set zmin, zmax by the user and also to set the 
+ * Copyright (C) 2001 -  Bruno Pincon (for gain in speed and added
+ *    possibilities to set zmin, zmax by the user and also to set the
  *    first and last color of the colormap)
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -19,7 +19,7 @@
  */
 
 #include "machine.h"
-#include "math_graphics.h" 
+#include "math_graphics.h"
 #include "Axes.h"
 
 #include "SetProperty.h"
 static void coloutPatch(int colout[2]);
 
 /*------------------------------------------------------------
- *  Iso contour with grey level or colors 
- *  for a function defined by finite elements 
+ *  Iso contour with grey level or colors
+ *  for a function defined by finite elements
  *  ( f is linear on triangles )
- *  we give two versions of the function : 
- *     - a quick version wich only fill triangles according to the average 
+ *  we give two versions of the function :
+ *     - a quick version wich only fill triangles according to the average
  *     value of f on a triangle (no more such version now ?)
  *     - and a slow version but more sexy which use the fact that f is linear
  *     on each triangle.
  *  Nodes (x[no],y[no])
  *  Triangles (Matrix: [ numero, no1,no2,no3,iflag;...]
  *  func[no] : Function value on Nodes.
- *  Nnode : number of nodes 
- *  Ntr   : number of triangles 
+ *  Nnode : number of nodes
+ *  Ntr   : number of triangles
  *  strflag,legend,brect,aint : see plot2d
  *  zminmax   : to set (optionnaly) the min and max level
  *  colminmax : to set (optionnaly) the first and last color to use
  *
- *  modified by Bruno Pincon 01/02/2001 for gain in speed and added 
- *  possibilities to set zmin, zmax by the user and also to set the 
+ *  modified by Bruno Pincon 01/02/2001 for gain in speed and added
+ *  possibilities to set zmin, zmax by the user and also to set the
  *  first and last color of the colormap (Bruno.Pincon@iecn.u-nancy.fr)
 ---------------------------------------------------------------*/
 
-int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode, int *Ntr, 
-            char *strflag, char *legend, double *brect, int *aaint, double *zminmax, 
+int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode, int *Ntr,
+            char *strflag, char *legend, double *brect, int *aaint, double *zminmax,
             int *colminmax, int *colout, BOOL with_mesh, BOOL flagNax, int lstr1, int lstr2)
 {
   int n1=1;
-  
+
   /* Fec code */
 
   long hdltab[2];
@@ -94,11 +94,14 @@ int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode,
 
   char textLogFlags[3];
   int clipState;
-  int autoScale;
-  int firstPlot;
+  int autoScale = 0;
+  int *piAutoScale = &autoScale;
+  int firstPlot = 0;
+  int *piFirstPlot = &firstPlot;
   int logFlags[3];
   int autoSubticks;
-  int* tmp;
+  int iTmp = 0;
+  int *piTmp = &iTmp;
   double rotationAngles[2];
 
   psubwin = sciGetCurrentSubWin();
@@ -121,7 +124,7 @@ int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode,
   else
   {
     pSUBWIN_FEATURE (psubwin)->theta_kp=pSUBWIN_FEATURE (psubwin)->theta;
-    pSUBWIN_FEATURE (psubwin)->alpha_kp=pSUBWIN_FEATURE (psubwin)->alpha;  
+    pSUBWIN_FEATURE (psubwin)->alpha_kp=pSUBWIN_FEATURE (psubwin)->alpha;
   }
 #endif
 
@@ -140,17 +143,15 @@ int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode,
   /* Force  axes_visible property */
   /* pSUBWIN_FEATURE (psubwin)->isaxes  = TRUE;*/
 
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_FIRST_PLOT__, jni_bool);
-  firstPlot = *tmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_FIRST_PLOT__, jni_bool, &piFirstPlot);
 
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_AUTO_SCALE__, jni_bool);
-  autoScale = *tmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_AUTO_SCALE__, jni_bool, &piAutoScale);
 
   if (autoScale)
   {
     /* compute and merge new specified bounds with psubwin->Srect */
     switch (strflag[1])  {
-      case '0': 
+      case '0':
         /* do not change psubwin->Srect */
         break;
       case '1' : case '3' : case '5' : case '7':
@@ -159,12 +160,12 @@ int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode,
         break;
       case '2' : case '4' : case '6' : case '8':case '9':
 
-        tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool);
-        logFlags[0] = *tmp;
-        tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool);
-        logFlags[1] = *tmp;
-        tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_LOG_FLAG__, jni_bool);
-        logFlags[2] = *tmp;
+        getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+        logFlags[0] = iTmp;
+        getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+        logFlags[1] = iTmp;
+        getGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+        logFlags[2] = iTmp;
 
         /* Conversion required by compute_data_bounds2 */
         textLogFlags[0] = getTextLogFlag(logFlags[0]);
@@ -182,9 +183,9 @@ int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode,
         drect[1] = Max(pSUBWIN_FEATURE(psubwin)->SRect[1],drect[1]); /*xmax*/
         drect[3] = Max(pSUBWIN_FEATURE(psubwin)->SRect[3],drect[3]); /*ymax*/
     }
-    if (strflag[1] != '0') 
+    if (strflag[1] != '0')
       bounds_changed = update_specification_bounds(psubwin, drect,2);
-  } 
+  }
 
   if (firstPlot)
   {
@@ -197,7 +198,7 @@ int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode,
   firstPlot = 0;
   setGraphicObjectProperty(psubwin->UID, __GO_FIRST_PLOT__, &firstPlot, jni_bool, 1);
 
-  /* F.Leray 07.10.04 : trigger algo to init. manual graduation u_xgrads and 
+  /* F.Leray 07.10.04 : trigger algo to init. manual graduation u_xgrads and
   u_ygrads if nax (in matdes.c which is == aaint HERE) was specified */
 
   /* The MVC AUTO_SUBTICKS property corresponds to !flagNax */
@@ -207,10 +208,10 @@ int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode,
 
   if (flagNax == TRUE)
   {
-    tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool);
-    logFlags[0] = *tmp;
-    tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool);
-    logFlags[1] = *tmp;
+      getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+    logFlags[0] = iTmp;
+    getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+    logFlags[1] = iTmp;
 
     if (logFlags[0] == 0 && logFlags[1] == 0)
     {
@@ -253,7 +254,7 @@ int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode,
        /* [-1,-1] */
        coloutPatch(colout);
   pFec = ConstructFec(psubwin,x,y,triangles,func,
-                      *Nnode,*Ntr,zminmax,colminmax,colout, with_mesh); 
+                      *Nnode,*Ntr,zminmax,colminmax,colout, with_mesh);
 
   if (pFec == NULL)
   {
@@ -267,9 +268,9 @@ int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode,
 
   /* retrieve the created object : fec */
   pptabofpointobj = pFec;
-  hdltab[cmpt] = sciGetHandle(pptabofpointobj);   
+  hdltab[cmpt] = sciGetHandle(pptabofpointobj);
   cmpt++;
-  
+
   parentCompound = ConstructCompound (hdltab, cmpt);
   sciSetCurrentObj(parentCompound);  /** construct Compound **/
 
@@ -281,9 +282,9 @@ int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode,
 #if 0
   sciDrawObj(parentCompound);
 #endif
-   
+
   return(0);
-   
+
 }
 /*--------------------------------------------------------------------------*/
 static void coloutPatch(int colout[2])
index 4bd25ab..145ded4 100644 (file)
@@ -279,12 +279,13 @@ sciGetNumColors (sciPointObj * pobj)
     if (pobj)
     {
         char* parentFigure;
-        int* numColors;
+        int iNumColors = 0;
+        int* piNumColors = &iNumColors;
 
-        parentFigure = (char*) getGraphicObjectProperty(pobj->UID, __GO_PARENT_FIGURE__, jni_string);
-        numColors = (int*) getGraphicObjectProperty(parentFigure, __GO_COLORMAP_SIZE__, jni_int);
+        getGraphicObjectProperty(pobj->UID, __GO_PARENT_FIGURE__, jni_string, &parentFigure);
+        getGraphicObjectProperty(parentFigure, __GO_COLORMAP_SIZE__, jni_int, &piNumColors);
 
-        return *numColors;
+        return iNumColors;
 
         /* To be deleted */
 #if 0
@@ -806,7 +807,7 @@ BOOL sciisTextEmpty(char* identifier)
     int nbElements;
     int* dimensions;
 
-    dimensions = (int*) getGraphicObjectProperty(identifier, __GO_TEXT_ARRAY_DIMENSIONS__, jni_int_vector);
+    getGraphicObjectProperty(identifier, __GO_TEXT_ARRAY_DIMENSIONS__, jni_int_vector, &dimensions);
 
     if (dimensions == NULL)
     {
@@ -822,7 +823,8 @@ BOOL sciisTextEmpty(char* identifier)
 
     if (nbElements == 1)
     {
-        char** textMatrix = (char**) getGraphicObjectProperty(identifier, __GO_TEXT_STRINGS__, jni_string_vector);
+        char** textMatrix;
+        getGraphicObjectProperty(identifier, __GO_TEXT_STRINGS__, jni_string_vector, &textMatrix);
 
         if (textMatrix[0] == NULL)
         {
@@ -1725,17 +1727,18 @@ sciGetName (sciPointObj * pobj)
 int
 sciGetNum (sciPointObj * pobj)
 {
-    int* figureId;
+    int iFigureId = 0;
+    int* piFigureId = &iFigureId;
 
-    figureId = (int*) getGraphicObjectProperty(pobj->UID, __GO_ID__, jni_int);
+    getGraphicObjectProperty(pobj->UID, __GO_ID__, jni_int, &piFigureId);
 
-    if (figureId == NULL)
+    if (piFigureId == NULL)
     {
         printSetGetErrorMessage("figure_id");
         return -1;
     }
 
-    return *figureId;
+    return iFigureId;
 
     /*
      * Deactivated for now.
@@ -1983,7 +1986,7 @@ double *sciGetPoint(sciPointObj * pthis, int *numrow, int *numcol)
     double *tab;
     int i,k;
 
-    type = (char*) getGraphicObjectProperty(pthis->UID, __GO_TYPE__, jni_string);
+    getGraphicObjectProperty(pthis->UID, __GO_TYPE__, jni_string, &type);
 
 //    switch (sciGetEntityType (pthis))
 
@@ -2016,28 +2019,30 @@ double *sciGetPoint(sciPointObj * pthis, int *numrow, int *numcol)
         double* dataX = NULL;
         double* dataY = NULL;
         double* dataZ = NULL;
-        int* tmp;
-        int view;
+        int iTmp = 0;
+        int* piTmp = &iTmp;
+        int iView =0;
+        int *piView = &iView;
 
         /*
          * Testing whether data properties exist for this object
          * is currently done only for this property. The type comparison already
          * ensures that this is the case, though doing so is awkward.
          */
-        tmp = (int*) getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int);
+        getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, &piTmp);
 
-        if (tmp == NULL)
+        if (piTmp == NULL)
         {
             *numrow = -2;
             *numcol = -2;
             return NULL;
         }
 
-        *numrow = *tmp;
+        *numrow = iTmp;
 
-        tmp = (int*) getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_Z_COORDINATES_SET__, jni_int);
+        getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_Z_COORDINATES_SET__, jni_int, &piTmp);
 
-        if (*tmp)
+        if (iTmp)
         {
             *numcol = 3;
         }
@@ -2054,14 +2059,13 @@ double *sciGetPoint(sciPointObj * pthis, int *numrow, int *numcol)
             return NULL;
         }
 
-       parentAxes = (char*) getGraphicObjectProperty(pthis->UID, __GO_PARENT_AXES__, jni_string);
-       tmp = (int*) getGraphicObjectProperty(parentAxes, __GO_VIEW__, jni_int);
-       view = *tmp;
+        getGraphicObjectProperty(pthis->UID, __GO_PARENT_AXES__, jni_string, &parentAxes);
+        getGraphicObjectProperty(parentAxes, __GO_VIEW__, jni_int, &piView);
 
-        dataX = (double*) getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_X__, jni_double_vector);
-        dataY = (double*) getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_Y__, jni_double_vector);
+        getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_X__, jni_double_vector, &dataX);
+        getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_Y__, jni_double_vector, &dataY);
 
-        if (*numcol == 2 && view)
+        if (*numcol == 2 && iView)
         {
             *numcol = (*numcol)+1; /* colonne de 0. a prendre en compte / afficher => numcol+1*/
             if ((tab = CALLOC((*numrow)*(*numcol),sizeof(double))) == NULL)
@@ -2089,7 +2093,7 @@ double *sciGetPoint(sciPointObj * pthis, int *numrow, int *numcol)
 
             if (*numcol == 3)
             {
-                dataZ = (double*) getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_Z__, jni_double_vector);
+                getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_Z__, jni_double_vector, &dataZ);
             }
 
             for ( i = 0 ; i < *numrow ; i++ )
@@ -2110,18 +2114,20 @@ double *sciGetPoint(sciPointObj * pthis, int *numrow, int *numcol)
         char* parentAxes;
         double* upperLeftPoint;
         double* tmpDouble;
-        double width;
-        double height;
+        double width = 0.0;
+        double *pdblWidth = &width;
+        double height = 0.0;
+        double *pdblHeight = &height;
         int* tmp;
-        int view;
+        int iView = 0;
+        int *piView = &iView;
 
         *numrow = 1;
 
-        parentAxes = (char*) getGraphicObjectProperty(pthis->UID, __GO_PARENT_AXES__, jni_string);
-        tmp = (int*) getGraphicObjectProperty(parentAxes, __GO_VIEW__, jni_int);
-        view = *tmp;
+        getGraphicObjectProperty(pthis->UID, __GO_PARENT_AXES__, jni_string, &parentAxes);
+        getGraphicObjectProperty(parentAxes, __GO_VIEW__, jni_int, &piView);
 
-        *numcol = view ? 5: 4;
+        *numcol = iView ? 5: 4;
 
         if ((tab = CALLOC((*numrow)*(*numcol),sizeof(double))) == NULL)
         {
@@ -2130,17 +2136,15 @@ double *sciGetPoint(sciPointObj * pthis, int *numrow, int *numcol)
             return NULL;
         }
 
-        upperLeftPoint = (double*) getGraphicObjectProperty(pthis->UID, __GO_UPPER_LEFT_POINT__, jni_double_vector);
+        getGraphicObjectProperty(pthis->UID, __GO_UPPER_LEFT_POINT__, jni_double_vector, &upperLeftPoint);
 
-        tmpDouble = (double*) getGraphicObjectProperty(pthis->UID, __GO_WIDTH__, jni_double);
-        width = *tmpDouble;
-        tmpDouble = (double*) getGraphicObjectProperty(pthis->UID, __GO_HEIGHT__, jni_double);
-        height = *tmpDouble;
+        getGraphicObjectProperty(pthis->UID, __GO_WIDTH__, jni_double, &pdblWidth);
+        getGraphicObjectProperty(pthis->UID, __GO_HEIGHT__, jni_double, &pdblHeight);
 
         tab[0] = upperLeftPoint[0];
         tab[1] = upperLeftPoint[1];
 
-        if (view)
+        if (iView)
         {
             tab[2] = upperLeftPoint[2];
             tab[3] = width;
@@ -2158,18 +2162,24 @@ double *sciGetPoint(sciPointObj * pthis, int *numrow, int *numcol)
         char* parentAxes;
         double* upperLeftPoint;
         double* tmpDouble;
-        double width;
+        double width = 0.0;
+        double *pdblWidth = &width;
+
         double height;
+        double *pdblHeight = &height;
+
         double startAngle;
+        double *pdblStartAngle = &startAngle;
         double endAngle;
+        double *pdblEndAngle = &endAngle;
         int* tmp;
-        int view;
+        int view = 0;
+        int *piView = &view;
 
         *numrow = 1;
 
-        parentAxes = (char*) getGraphicObjectProperty(pthis->UID, __GO_PARENT_AXES__, jni_string);
-        tmp = (int*) getGraphicObjectProperty(parentAxes, __GO_VIEW__, jni_int);
-        view = *tmp;
+        getGraphicObjectProperty(pthis->UID, __GO_PARENT_AXES__, jni_string, &parentAxes);
+        getGraphicObjectProperty(parentAxes, __GO_VIEW__, jni_int, &piView);
 
         *numcol = view ? 7: 6;
 
@@ -2180,17 +2190,13 @@ double *sciGetPoint(sciPointObj * pthis, int *numrow, int *numcol)
             return NULL;
         }
 
-        upperLeftPoint = (double*) getGraphicObjectProperty(pthis->UID, __GO_UPPER_LEFT_POINT__, jni_double_vector);
+        getGraphicObjectProperty(pthis->UID, __GO_UPPER_LEFT_POINT__, jni_double_vector, &upperLeftPoint);
 
-        tmpDouble = (double*) getGraphicObjectProperty(pthis->UID, __GO_WIDTH__, jni_double);
-        width = *tmpDouble;
-        tmpDouble = (double*) getGraphicObjectProperty(pthis->UID, __GO_HEIGHT__, jni_double);
-        height = *tmpDouble;
+        getGraphicObjectProperty(pthis->UID, __GO_WIDTH__, jni_double, &pdblWidth);
+        getGraphicObjectProperty(pthis->UID, __GO_HEIGHT__, jni_double, &pdblHeight);
 
-        tmpDouble = (double*) getGraphicObjectProperty(pthis->UID, __GO_START_ANGLE__, jni_double);
-        startAngle = *tmpDouble;
-        tmpDouble = (double*) getGraphicObjectProperty(pthis->UID, __GO_END_ANGLE__, jni_double);
-        endAngle = *tmpDouble;
+        getGraphicObjectProperty(pthis->UID, __GO_START_ANGLE__, jni_double, &pdblStartAngle);
+        getGraphicObjectProperty(pthis->UID, __GO_END_ANGLE__, jni_double, &pdblEndAngle);
 
         tab[0] = upperLeftPoint[0];
         tab[1] = upperLeftPoint[1];
@@ -2298,14 +2304,15 @@ double *sciGetPoint(sciPointObj * pthis, int *numrow, int *numcol)
     else if (strcmp(type, __GO_MATPLOT__) == 0)
     {
         int* tmp;
-        int nx;
-        int ny;
+        int nx = 0;
+        int *piNx = &nx;
+        int ny = 0;
+        int *piNy = &ny;
         double* data;
 
-        tmp = (int*) getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_NUM_X__, jni_int);
-        nx = *tmp;
-        tmp = (int*) getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_NUM_Y__, jni_int);
-        ny = *tmp;
+        getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_NUM_X__, jni_int, &piNx);
+
+        getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_NUM_Y__, jni_int, &piNy);
 
         /* The z data matrix has (ny-1) rows and (nx-1) cols */
         nx = nx - 1;
@@ -2321,7 +2328,7 @@ double *sciGetPoint(sciPointObj * pthis, int *numrow, int *numcol)
             return (double*)NULL;
         }
 
-        data = (double*) getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_Z__, jni_double_vector);
+        getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_Z__, jni_double_vector, &data);
 
         for (i=0; i < nx*ny; i++)
         {
@@ -2334,12 +2341,13 @@ double *sciGetPoint(sciPointObj * pthis, int *numrow, int *numcol)
     {
         double* coordinates;
         double* values;
-        int* tmp;
+        int iTmp = 0;
+        int* piTmp = &iTmp;
 
         *numcol = 3;
 
-        tmp = (int*) getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_NUM_VERTICES__, jni_int);
-        *numrow = *tmp;
+        getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_NUM_VERTICES__, jni_int, &piTmp);
+        *numrow = iTmp;
 
         if ((tab = CALLOC(*numrow * 3,sizeof(double))) == NULL)
         {
@@ -2348,8 +2356,8 @@ double *sciGetPoint(sciPointObj * pthis, int *numrow, int *numcol)
             return (double*)NULL;
         }
 
-        coordinates = (double*) getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_COORDINATES__, jni_double_vector);
-        values = (double*) getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_VALUES__, jni_double_vector);
+        getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_COORDINATES__, jni_double_vector, &coordinates);
+        getGraphicObjectProperty(pthis->UID, __GO_DATA_MODEL_VALUES__, jni_double_vector, &values);
 
         for (i=0;i < *numrow;i++)
         {
@@ -2911,9 +2919,9 @@ BOOL sciGetLegendDefined( sciPointObj * pObj )
         return FALSE;
     }
 
-    xLabelId = (char*) getGraphicObjectProperty(pObj->UID, __GO_X_AXIS_LABEL__, jni_string);
-    yLabelId = (char*) getGraphicObjectProperty(pObj->UID, __GO_X_AXIS_LABEL__, jni_string);
-    zLabelId = (char*) getGraphicObjectProperty(pObj->UID, __GO_X_AXIS_LABEL__, jni_string);
+    getGraphicObjectProperty(pObj->UID, __GO_X_AXIS_LABEL__, jni_string, &xLabelId);
+    getGraphicObjectProperty(pObj->UID, __GO_X_AXIS_LABEL__, jni_string, &yLabelId);
+    getGraphicObjectProperty(pObj->UID, __GO_X_AXIS_LABEL__, jni_string, &zLabelId);
 
     /* get the text size of labels */
     if (sciisTextEmpty(xLabelId) &&
@@ -3403,19 +3411,20 @@ void sciGetLogFlags(sciPointObj * pObj, char flags[3])
 {
     char* logflagPropertyNames[3] = {__GO_X_AXIS_LOG_FLAG__, __GO_Y_AXIS_LOG_FLAG__, __GO_Z_AXIS_LOG_FLAG__};
     int i;
-    int* tmp;
+    int iLogFlag = 0;
+    int* piLogFlag = &iLogFlag;
 
     for (i = 0; i < 3; i++)
     {
-        tmp = (int*) getGraphicObjectProperty(pObj->UID, logflagPropertyNames[i], jni_bool);
+        getGraphicObjectProperty(pObj->UID, logflagPropertyNames[i], jni_bool, &piLogFlag);
 
-        if (tmp == NULL)
+        if (piLogFlag == NULL)
         {
             printSetGetErrorMessage("log_flags");
             return;
         }
 
-        if (*tmp)
+        if (iLogFlag)
         {
             flags[i] = 'l';
         }
index 700f972..b494500 100644 (file)
@@ -8,7 +8,7 @@
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -58,8 +58,10 @@ int C2F(xgray)(double *x, double *y, double *z, int *n1, int *n2, char *strflag,
     int firstPlot;
     int logFlags[3];
     int autoSubticks;
-    int* tmp;
-  
+
+    int iTmp = 0;
+    int* piTmp = &iTmp;
+
     xx[0]=Mini(x,*n1);xx[1]=Maxi(x,*n1);
     yy[0]=Mini(y,*n2);yy[1]=Maxi(y,*n2);
 
@@ -84,7 +86,7 @@ int C2F(xgray)(double *x, double *y, double *z, int *n1, int *n2, char *strflag,
     else
     {
         pSUBWIN_FEATURE (psubwin)->theta_kp=pSUBWIN_FEATURE (psubwin)->theta;
-        pSUBWIN_FEATURE (psubwin)->alpha_kp=pSUBWIN_FEATURE (psubwin)->alpha;  
+        pSUBWIN_FEATURE (psubwin)->alpha_kp=pSUBWIN_FEATURE (psubwin)->alpha;
     }
 #endif
 
@@ -100,17 +102,17 @@ int C2F(xgray)(double *x, double *y, double *z, int *n1, int *n2, char *strflag,
     clipState = 1;
     setGraphicObjectProperty(psubwin->UID, __GO_CLIP_STATE__, &clipState, jni_int, 1);
 
-    tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_FIRST_PLOT__, jni_bool);
-    firstPlot = *tmp;
+    getGraphicObjectProperty(psubwin->UID, __GO_FIRST_PLOT__, jni_bool, &piTmp);
+    firstPlot = iTmp;
 
-    tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_AUTO_SCALE__, jni_bool);
-    autoScale = *tmp;
+    getGraphicObjectProperty(psubwin->UID, __GO_AUTO_SCALE__, jni_bool, &piTmp);
+    autoScale = iTmp;
 
     if (autoScale)
     {
         /* compute and merge new specified bounds with the data bounds */
         switch (strflag[1])  {
-          case '0': 
+          case '0':
             /* do not change data bounds */
             break;
           case '1' : case '3' : case '5' : case '7':
@@ -119,12 +121,12 @@ int C2F(xgray)(double *x, double *y, double *z, int *n1, int *n2, char *strflag,
             break;
           case '2' : case '4' : case '6' : case '8': case '9':
 
-            tmp = getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool);
-            logFlags[0] = *tmp;
-            tmp = getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool);
-            logFlags[1] = *tmp;
-            tmp = getGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_LOG_FLAG__, jni_bool);
-            logFlags[2] = *tmp;
+              getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+              logFlags[0] = iTmp;
+              getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+              logFlags[1] = iTmp;
+              getGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+              logFlags[2] = iTmp;
 
             /* Conversion required by compute_data_bounds2 */
             textLogFlags[0] = getTextLogFlag(logFlags[0]);
@@ -139,7 +141,8 @@ int C2F(xgray)(double *x, double *y, double *z, int *n1, int *n2, char *strflag,
         /* merge data bounds and drect */
         if (!firstPlot &&(strflag[1] == '7' || strflag[1] == '8'))
         {
-            double* dataBounds = (double*) getGraphicObjectProperty(psubwin->UID, __GO_DATA_BOUNDS__, jni_double_vector);
+            double* dataBounds;
+            getGraphicObjectProperty(psubwin->UID, __GO_DATA_BOUNDS__, jni_double_vector, &dataBounds);
 
             drect[0] = Min(dataBounds[0],drect[0]); /*xmin*/
             drect[2] = Min(dataBounds[2],drect[2]); /*ymin*/
@@ -147,7 +150,7 @@ int C2F(xgray)(double *x, double *y, double *z, int *n1, int *n2, char *strflag,
             drect[3] = Max(dataBounds[3],drect[3]); /*ymax*/
         }
 
-        if (strflag[1] != '0') 
+        if (strflag[1] != '0')
         {
             bounds_changed = update_specification_bounds(psubwin, drect,2);
         }
@@ -236,7 +239,7 @@ int C2F(xgray)(double *x, double *y, double *z, int *n1, int *n2, char *strflag,
         DrawAxesIfRequired(sciGetCurrentObj ()); /* force axes redrawing */
     }
 #endif
-  
+
     return(0);
 }
 
@@ -262,7 +265,8 @@ int C2F(xgray1)(double *z, int *n1, int *n2, char *strflag, double *brect, int *
     int logFlags[3];
     int autoSubticks;
 
-    int* tmp;
+    int iTmp = 0;
+    int* piTmp = &iTmp;
 
     xx[0] = 0.5;
     xx[1]= *n2+0.5;
@@ -301,11 +305,11 @@ int C2F(xgray1)(double *z, int *n1, int *n2, char *strflag, double *brect, int *
     clipState = 1;
     setGraphicObjectProperty(psubwin->UID, __GO_CLIP_STATE__, &clipState, jni_int, 1);
 
-    tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_FIRST_PLOT__, jni_bool);
-    firstPlot = *tmp;
+    getGraphicObjectProperty(psubwin->UID, __GO_FIRST_PLOT__, jni_bool, &piTmp);
+    firstPlot = iTmp;
 
-    tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_AUTO_SCALE__, jni_bool);
-    autoScale = *tmp;
+    getGraphicObjectProperty(psubwin->UID, __GO_AUTO_SCALE__, jni_bool, &piTmp);
+    autoScale = iTmp;
 
     /*---- Boundaries of the frame ----*/
     if (autoScale)
@@ -320,12 +324,12 @@ int C2F(xgray1)(double *z, int *n1, int *n2, char *strflag, double *brect, int *
             re_index_brect(brect, drect);
             break;
         case '2' : case '4' : case '6' : case '8': case '9':
-            tmp = getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool);
-            logFlags[0] = *tmp;
-            tmp = getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool);
-            logFlags[1] = *tmp;
-            tmp = getGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_LOG_FLAG__, jni_bool);
-            logFlags[2] = *tmp;
+            getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+            logFlags[0] = iTmp;
+            getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+            logFlags[1] = iTmp;
+            getGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+            logFlags[2] = iTmp;
 
             /* Conversion required by compute_data_bounds2 */
             textLogFlags[0] = getTextLogFlag(logFlags[0]);
@@ -340,7 +344,8 @@ int C2F(xgray1)(double *z, int *n1, int *n2, char *strflag, double *brect, int *
         if (!firstPlot &&
           (strflag[1] == '7' || strflag[1] == '8' || strflag[1] == '9'))
         {
-            double* dataBounds = (double*) getGraphicObjectProperty(psubwin->UID, __GO_DATA_BOUNDS__, jni_double_vector);
+            double* dataBounds;
+            getGraphicObjectProperty(psubwin->UID, __GO_DATA_BOUNDS__, jni_double_vector, &dataBounds);
 
             drect[0] = Min(dataBounds[0], drect[0]); /*xmin*/
             drect[2] = Min(dataBounds[2], drect[2]); /*ymin*/
@@ -434,11 +439,11 @@ int C2F(xgray1)(double *z, int *n1, int *n2, char *strflag, double *brect, int *
 
     return 0;
 }
-  
+
+
 /*-------------------------------------------------------
- * like xgray1 : 
- * but xrect here give the rectangle in which the 
+ * like xgray1 :
+ * but xrect here give the rectangle in which the
  * grayplot is to be drawn using the current scale
  -------------------------------------------------------*/
 
index 977ccd6..bd7583e 100644 (file)
@@ -320,7 +320,7 @@ sciInitGraphicContext (sciPointObj * pobj)
    * la colormap des fils est heritee du parent
    */
 
-  type = (char*) getGraphicObjectProperty(pobj->UID, __GO_TYPE__, jni_string);
+  getGraphicObjectProperty(pobj->UID, __GO_TYPE__, jni_string, &type);
 
 
 //  switch (sciGetEntityType (pobj))
@@ -434,7 +434,7 @@ sciInitGraphicContext (sciPointObj * pobj)
   {
     char* parent;
 
-    parent = (char*) getGraphicObjectProperty(pobj->UID, __GO_PARENT__, jni_string);
+    getGraphicObjectProperty(pobj->UID, __GO_PARENT__, jni_string, &parent);
     cloneGraphicContext(parent, pobj->UID);
   }
   /*
@@ -444,7 +444,7 @@ sciInitGraphicContext (sciPointObj * pobj)
   {
     char* parent;
 
-    parent = (char*) getGraphicObjectProperty(pobj->UID, __GO_PARENT__, jni_string);
+    getGraphicObjectProperty(pobj->UID, __GO_PARENT__, jni_string, &parent);
     cloneGraphicContext(parent, pobj->UID);
 
     /*
@@ -459,14 +459,14 @@ sciInitGraphicContext (sciPointObj * pobj)
   {
     char* parent;
 
-    parent = (char*) getGraphicObjectProperty(pobj->UID, __GO_PARENT__, jni_string);
+    getGraphicObjectProperty(pobj->UID, __GO_PARENT__, jni_string, &parent);
     cloneGraphicContext(parent, pobj->UID);
   }
   else if ((strcmp(type, __GO_FAC3D__) == 0) || (strcmp(type, __GO_PLOT3D__) == 0))
   {
     char* parent;
 
-    parent = (char*) getGraphicObjectProperty(pobj->UID, __GO_PARENT__, jni_string);
+    getGraphicObjectProperty(pobj->UID, __GO_PARENT__, jni_string, &parent);
     cloneGraphicContext(parent, pobj->UID);
   }
 
@@ -567,7 +567,7 @@ sciInitFontContext (sciPointObj * pobj)
   /* static TCHAR inifontname[] = TEXT ("Times New Roman");*/
 
 
-  type = (char*) getGraphicObjectProperty(pobj->UID, __GO_TYPE__, jni_string);
+  getGraphicObjectProperty(pobj->UID, __GO_TYPE__, jni_string, &type);
 
 //  switch (sciGetEntityType (pobj))
 
@@ -788,7 +788,8 @@ int InitAxesModel()
   int hiddenAxisColor;
   int hiddenColor;
   int isoview;
-  int visible;
+  int visible = 0;
+  int *piVisible = &visible;
   int clipState;
   int tightLimits;
   int arcDrawingMethod;
@@ -1025,9 +1026,7 @@ int InitAxesModel()
   setGraphicObjectProperty(paxesmdl->UID, __GO_DATA_BOUNDS__, dataBounds, jni_double_vector, 6);
 
   /* visible */
-  tmp = (int*) getGraphicObjectProperty(pfiguremdl->UID, __GO_VISIBLE__, jni_bool);
-
-  visible = *tmp;
+  getGraphicObjectProperty(pfiguremdl->UID, __GO_VISIBLE__, jni_bool, &piVisible);
   setGraphicObjectProperty(paxesmdl->UID, __GO_VISIBLE__, &visible, jni_bool, 1);
 
   /* 0: clipping off */
@@ -1254,7 +1253,7 @@ int InitAxesModel()
   /*
    * Label creation is done in the MVC Axes constructor for now.
    * However, the equivalent of initLabel (which initializes Label
-   * properties default values) must be implemented. 
+   * properties default values) must be implemented.
    */
 
   /* F.Leray 10.06.04 */
@@ -1386,7 +1385,7 @@ sciInitGraphicMode (sciPointObj * pobj)
 {
   char* type;
 
-  type = (char*) getGraphicObjectProperty(pobj->UID, __GO_TYPE__, jni_string);
+  getGraphicObjectProperty(pobj->UID, __GO_TYPE__, jni_string, &type);
 
 //  switch (sciGetEntityType (pobj))
 
@@ -1472,14 +1471,15 @@ sciInitGraphicMode (sciPointObj * pobj)
        */
       else
        {
-          int* tmp;
+        int iTmp = 0;
+          int* piTmp = &iTmp;
 
-          tmp = (int*) getGraphicObjectProperty(paxesmdl->UID, __GO_AUTO_CLEAR__, jni_bool);
-          autoClear = *tmp;
-          tmp = (int*) getGraphicObjectProperty(paxesmdl->UID, __GO_AUTO_SCALE__, jni_bool);
-          autoScale = *tmp;
-          tmp = (int*) getGraphicObjectProperty(paxesmdl->UID, __GO_ZOOM_ENABLED__, jni_bool);
-          zoom = *tmp;
+          getGraphicObjectProperty(paxesmdl->UID, __GO_AUTO_CLEAR__, jni_bool, &piTmp);
+          autoClear = iTmp;
+          getGraphicObjectProperty(paxesmdl->UID, __GO_AUTO_SCALE__, jni_bool, &piTmp);
+          autoScale = iTmp;
+          getGraphicObjectProperty(paxesmdl->UID, __GO_ZOOM_ENABLED__, jni_bool, &piTmp);
+          zoom = iTmp;
 
           setGraphicObjectProperty(pobj->UID, __GO_AUTO_CLEAR__, &autoClear, jni_bool, 1);
           setGraphicObjectProperty(pobj->UID, __GO_AUTO_SCALE__, &autoScale, jni_bool, 1);
@@ -1490,8 +1490,8 @@ sciInitGraphicMode (sciPointObj * pobj)
            * obsolete ? Not implemented yet within the MVC
            */
 
-          tmp = (int*) getGraphicObjectProperty(paxesmdl->UID, __GO_PIXEL_DRAWING_MODE__, jni_bool);
-          xormode = *tmp;
+          getGraphicObjectProperty(paxesmdl->UID, __GO_PIXEL_DRAWING_MODE__, jni_bool, &piTmp);
+          xormode = iTmp;
 
           setGraphicObjectProperty(pobj->UID, __GO_PIXEL_DRAWING_MODE__, &xormode, jni_int, 1);
 
index fcc85ec..efdf021 100644 (file)
@@ -6,11 +6,11 @@
  * Copyright (C) 2004-2006 - INRIA - Fabrice Leray
  * Copyright (C) 2005 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -19,7 +19,7 @@
  *    Graphic library
  --------------------------------------------------------------------------*/
 
-#include "math_graphics.h" 
+#include "math_graphics.h"
 #include "PloEch.h"
 
 #include "GetProperty.h"
 #include "graphicObjectProperties.h"
 
 /*-------------------------------------------
- * setscale2d 
- * uses WRect,ARect,FRect,logscale to update 
+ * setscale2d
+ * uses WRect,ARect,FRect,logscale to update
  * current subwindow
- *  WRect gives the subwindow to use 
- *  ARect gives the axis rectangle 
- *  FRect gives the bounds 
+ *  WRect gives the subwindow to use
+ *  ARect gives the axis rectangle
+ *  FRect gives the bounds
  *  WRect=[<x-upperleft>,<y-upperleft>,largeur,hauteur]
- *    example WRect=[0,0,1.0,1.0] we use all the window 
- *            WRect=[0.5,0.5,0.5,0.5] we use the down right 
+ *    example WRect=[0,0,1.0,1.0] we use all the window
+ *            WRect=[0.5,0.5,0.5,0.5] we use the down right
  *            quarter of the window
- *  logscale : gives xy log axis flags 
- *  each argument can be a null pointer if they are 
- *  not to be changed from their current value 
+ *  logscale : gives xy log axis flags
+ *  each argument can be a null pointer if they are
+ *  not to be changed from their current value
+ *
  *
- *  
  *-------------------------------------------*/
 
 int setscale2d(double WRect[4],
@@ -63,9 +63,9 @@ int setscale2d(double WRect[4],
 {
   sciPointObj * masousfen = NULL;
   sciPointObj * currentFigure = sciGetCurrentFigure();
+
        startFigureDataWriting(currentFigure);
-  if (WRect != NULL) 
+  if (WRect != NULL)
   {
       /* Ajout djalel */
       if (( masousfen = sciIsExistingSubWin(WRect)) != NULL)
@@ -90,7 +90,7 @@ int setscale2d(double WRect[4],
                                return -1;
                        }
        }
-   
+
        masousfen = sciGetCurrentSubWin();
 
   if (FRect != NULL)
@@ -134,21 +134,22 @@ int setscale2d(double WRect[4],
 int getscale2d( double WRect[4], double FRect[4], char logscale[2], double ARect[4] )
 {
   int i;
-  int* tmp;
+  int iTmp = 0;
+  int *piTmp = &iTmp;
   double* axesBounds;
   double* margins;
   double* realDataBounds;
   sciPointObj * curSubwin = sciGetCurrentSubWin();
 
-  tmp = (int*) getGraphicObjectProperty(curSubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool);
-  logscale[0] = getTextLogFlag(*tmp);
+  getGraphicObjectProperty(curSubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+  logscale[0] = getTextLogFlag(iTmp);
 
-  tmp = (int*) getGraphicObjectProperty(curSubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool);
-  logscale[1] = getTextLogFlag(*tmp);
+  getGraphicObjectProperty(curSubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+  logscale[1] = getTextLogFlag(iTmp);
 
-  axesBounds = (double*) getGraphicObjectProperty(curSubwin->UID, __GO_AXES_BOUNDS__, jni_double_vector);
-  margins = (double*) getGraphicObjectProperty(curSubwin->UID, __GO_MARGINS__, jni_double_vector);
-  realDataBounds = (double*) getGraphicObjectProperty(curSubwin->UID, __GO_REAL_DATA_BOUNDS__, jni_double_vector);
+  getGraphicObjectProperty(curSubwin->UID, __GO_AXES_BOUNDS__, jni_double_vector, &axesBounds);
+  getGraphicObjectProperty(curSubwin->UID, __GO_MARGINS__, jni_double_vector, &margins);
+  getGraphicObjectProperty(curSubwin->UID, __GO_REAL_DATA_BOUNDS__, jni_double_vector, &realDataBounds);
 
   for ( i=0; i < 4 ; i++)
   {
@@ -190,7 +191,7 @@ extern void unzoom()
         pSUBWIN_FEATURE (psousfen)->ZRect[2]   = pSUBWIN_FEATURE (psousfen)->SRect[2];
         pSUBWIN_FEATURE (psousfen)->ZRect[3]   = pSUBWIN_FEATURE (psousfen)->SRect[3];
 
-        /*}  SS: moved below because if sciGetZooming(psousfen)==0 
+        /*}  SS: moved below because if sciGetZooming(psousfen)==0
         ZRect is undefined -> code may enter in infinite recursion loop to compute graduation
         and there is no use to regraduate */
 
@@ -220,7 +221,7 @@ extern void unzoom()
 void convertUserCoordToPixelCoords(const double xCoords[], const double yCoords[],
                                    int xPixCoords[], int yPixCoords[], int nbCoords,
                                    int rect[4])
-{ 
+{
   /* coordinates transformation */
   int i;
   sciPointObj * selectedSubwin = sciGetCurrentSubWin();
@@ -237,7 +238,7 @@ void convertUserCoordToPixelCoords(const double xCoords[], const double yCoords[
 
   /* get viewing area */
   sciGetViewingArea(selectedSubwin, &rect[0], &rect[1], &rect[2], &rect[3]);
+
 }
 /*--------------------------------------------------------------------------*/
 /**
@@ -248,7 +249,7 @@ void convertUserCoordToPixelCoords(const double xCoords[], const double yCoords[
 void convertPixelCoordsToUserCoords(const int xPixCoords[], const int yPixCoords[],
                                     double xUserCoords[], double yUserCoords[], int nbCoords,
                                     int rect[4])
-{ 
+{
   /* coordinates transformation */
   int i;
   sciPointObj * selectedSubwin = sciGetCurrentSubWin();
index 4dfa260..3a21cd5 100644 (file)
@@ -3,11 +3,11 @@
  * Copyright (C) 2002-2004 - INRIA - Djalel Abdemouche
  * Copyright (C) 2004-2006 - INRIA - Fabrice Leray
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -47,7 +47,7 @@
 
 /*--------------------------------------------------------------------
  *  plot2dn(ptype,Logflags,x,y,n1,n2,style,strflag,legend,brect,aaint,lstr1,lstr2)
- *  
+ *
  *  Draw *n1 curves of *n2 points each
  *
  *  ptype is an int which gives the polyline drawind mode (0,1,2,3,4)
  *  (x[i+(*n2)*j] ,y[i+(*n2)*j]) Double values giving the point
  *  position of point i of curve j (i=0,*n2-1 j=0,*n1-1)
  *
- *  style[*n1]-> give the style to use for each curve 
+ *  style[*n1]-> give the style to use for each curve
  *     if style is positive --> a mark is used (mark id = style[i])
- *     if style is strictly negative --> a dashed line is used 
+ *     if style is strictly negative --> a dashed line is used
  *        (dash id = abs(style[i])
  *     if there's only one curve, style can be of type style[0]=style,
- *     style[1]=pos ( pos in [1,6]) 
+ *     style[1]=pos ( pos in [1,6])
  *     pos give the legend position (1 to 6) (this can be iteresting
- *     if you want to superpose curves with different legends by 
+ *     if you want to superpose curves with different legends by
  *     calling plot2d more than one time.
  *
  *  strflag[3] is a string
- *  
- *     if strflag[0] == '1' then legends are added 
+ *
+ *     if strflag[0] == '1' then legends are added
  *        legend = "leg1@leg2@....@legn"; gives the legend for each curve
  *      else no legend
  *
- *     if strflag[1] == '1' then  the values of brect are used to fix 
+ *     if strflag[1] == '1' then  the values of brect are used to fix
  *        the drawing boundaries :  brect[]= <xmin,ymin,xmax,ymax>;
  *      if strflag[1] == '2' then the values  are computed from data
- *      else if strflag[1]=='0' the previous values 
- *                (previous call or defaut values) are used 
+ *      else if strflag[1]=='0' the previous values
+ *                (previous call or defaut values) are used
  *
  *     if  strflag[2] == '1' ->then an axis is added
- *        the number of intervals 
- *        is specified by the vector aaint[4] of integers 
- *         <aaint[0],aaint[1]> specifies the x-axis number of  points 
+ *        the number of intervals
+ *        is specified by the vector aaint[4] of integers
+ *         <aaint[0],aaint[1]> specifies the x-axis number of  points
  *         <aaint[2],aaint[3]> same for y-axis
  *     if  strflag[2] == '2' -> no axis, only a box around the curves
- *     else no box and no axis 
+ *     else no box and no axis
 
- * lstr* : unused ( but used by Fortran ) 
+ * lstr* : unused ( but used by Fortran )
  *--------------------------------------------------------------------------*/
-  
+
 int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *style,char *strflag,char *legend,double *brect,int *aaint,BOOL flagNax, int lstr1,int lstr2)
 {
   int closeflag = 0;
@@ -114,7 +114,8 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
   int clipState;
   int autoScale;
   int logFlags[3];
-  int* tmp;
+  int iTmp =0;
+  int* piTmp = &iTmp;
   char textLogFlags[3];
   int firstPlot;
   int newFirstPlot;
@@ -168,8 +169,8 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
 
   /* Force logflags to those given by argument */
 
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_FIRST_PLOT__, jni_bool);
-  firstPlot = *tmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_FIRST_PLOT__, jni_bool, &piTmp);
+  firstPlot = iTmp;
 
   /* Reset x and y logflags */
   if (firstPlot)
@@ -185,14 +186,14 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
   clipState = 1;
   setGraphicObjectProperty(psubwin->UID, __GO_CLIP_STATE__, &clipState, jni_int, 1);
 
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_AUTO_SCALE__, jni_bool);
-  autoScale = *tmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_AUTO_SCALE__, jni_bool, &piTmp);
+  autoScale = iTmp;
 
   if (autoScale)
   {
     /* compute and merge new specified bounds with psubwin->Srect */
     switch (strflag[1])  {
-    case '0': 
+    case '0':
       /* do not change psubwin->Srect */
       break;
     case '1' : case '3' : case '5' : case '7':
@@ -201,14 +202,21 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
       break;
     case '2' : case '4' : case '6' : case '8': case '9':
       /* Force psubwin->Srect to the x and y bounds */
-      if ( (int)strlen(logflags) < 1) dataflag='g' ; else dataflag=logflags[0];
+      if ( (int)strlen(logflags) < 1)
+      {
+          dataflag='g';
+      }
+      else
+      {
+          dataflag=logflags[0];
+      }
 
-      tmp = getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool);
-      logFlags[0] = *tmp;
-      tmp = getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool);
-      logFlags[1] = *tmp;
-      tmp = getGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_LOG_FLAG__, jni_bool);
-      logFlags[2] = *tmp;
+        getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+        logFlags[0] = iTmp;
+        getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+        logFlags[1] = iTmp;
+        getGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+      logFlags[2] = iTmp;
 
       /* Conversion required by compute_data_bounds2 */
       textLogFlags[0] = getTextLogFlag(logFlags[0]);
@@ -224,7 +232,8 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
     if ( !firstPlot &&
         (strflag[1] == '5' || strflag[1] == '7' || strflag[1] == '8' || strflag[1] == '9'))
     {
-      double* dataBounds = (double*) getGraphicObjectProperty(psubwin->UID, __GO_DATA_BOUNDS__, jni_double_vector);
+        double* dataBounds;
+        getGraphicObjectProperty(psubwin->UID, __GO_DATA_BOUNDS__, jni_double_vector, &dataBounds);
 
       drect[0] = Min(dataBounds[0],drect[0]); /*xmin*/
       drect[2] = Min(dataBounds[2],drect[2]); /*ymin*/
@@ -252,7 +261,7 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
 
   with_leg= (strflag[0] == '1');
 
-  /* F.Leray 07.10.04 : trigger algo to init. manual graduation u_xgrads and 
+  /* F.Leray 07.10.04 : trigger algo to init. manual graduation u_xgrads and
      u_ygrads if nax (in matdes.c which is == aaint HERE) was specified */
 
   /* The MVC AUTO_SUBTICKS property corresponds to !flagNax */
@@ -261,10 +270,10 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
 
   if (flagNax == TRUE)
   {
-      tmp = getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool);
-      logFlags[0] = *tmp;
-      tmp = getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool);
-      logFlags[1] = *tmp;
+      getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+      logFlags[0] = iTmp;
+      getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOG_FLAG__, jni_bool, &piTmp);
+      logFlags[1] = iTmp;
 
       if (logFlags[0] == 0 && logFlags[1] == 0)
       {
@@ -302,7 +311,7 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
    */
   /*if(bounds_changed == TRUE || axes_properties_changed == TRUE)
   {
-    
+
     sciDrawObj(sciGetCurrentFigure());
   }*/
 
@@ -332,7 +341,7 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
     {
       sciPointObj * pobj = NULL;
 
-      if (style[jj] > 0) { 
+      if (style[jj] > 0) {
        BOOL isline = TRUE;
        if (ptype==3)
         {
@@ -340,7 +349,7 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
         }
        pobj = ConstructPolyline(sciGetCurrentSubWin(),&(x[jj*(*n2)]),
                                 &(y[jj*(*n2)]),PD0,closeflag,*n2,ptype,
-                                &style[jj],NULL,NULL,NULL,NULL, 
+                                &style[jj],NULL,NULL,NULL,NULL,
                                 isline,FALSE,FALSE,FALSE);
       }
       else {
@@ -368,7 +377,7 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
         hdltab[cmpt]=hdl;
         cmpt++;
       }
-      
+
     }
 
     /* Deactivated since it involves drawing */
@@ -376,7 +385,7 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
     endFigureDataWriting(curFigure);
     forceRedraw(psubwin);
 #endif
-    
+
     /*---- Drawing the Legends ----*/
     /*
      * Deactivated for now, the Legend is not fully implemented yet
@@ -403,7 +412,7 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
            pLEGEND_FEATURE(Leg)->place = SCI_LEGEND_LOWER_CAPTION;
            sciSetIsFilled (Leg, FALSE);
            sciSetIsLine (Leg, FALSE);
-           sciSetCurrentObj (Leg); 
+           sciSetCurrentObj (Leg);
          }
 
       freeArrayOfString(Str, nleg);
@@ -441,7 +450,7 @@ int plot2dn(int ptype,char *logflags,double *x,double *y,int *n1,int *n2,int *st
 
 
 
-/* Given two set of coordinates x and y this routine computes the corresponding 
+/* Given two set of coordinates x and y this routine computes the corresponding
  *  data bounds rectangle drect=[xmin,ymin,xmax,ymax] taking into account the logflag
  *  -> means we have to find among the data the min > 0.
  */
@@ -451,29 +460,29 @@ void compute_data_bounds2(int cflag,char dataflag, char * logflags, double *x,do
   double xd[2];
   double *x1;
   switch ( dataflag ) {
-  case 'e' : 
+  case 'e' :
     xd[0] = 1.0; xd[1] = (double)n2;
     x1 = xd;size_x = (n2 != 0) ? 2 : 0 ;
-    break; 
-  case 'o' : 
+    break;
+  case 'o' :
     x1 = x;size_x = n2;
     break;
-  case 'g' : 
-  default  : 
+  case 'g' :
+  default  :
     x1 = x;size_x = (cflag == 1) ? n1 : (n1*n2) ;
-    break; 
+    break;
   }
 
   if (size_x != 0) {
     if(logflags[0] != 'l'){
-      drect[0] =  Mini(x1, size_x); 
-      drect[1] =  Maxi(x1,size_x); 
+      drect[0] =  Mini(x1, size_x);
+      drect[1] =  Maxi(x1,size_x);
     }
     else { /* log. case */
-      drect[0] =  sciFindStPosMin(x1,size_x); 
-      drect[1] =  Maxi(x1,size_x); 
+      drect[0] =  sciFindStPosMin(x1,size_x);
+      drect[1] =  Maxi(x1,size_x);
     }
-    
+
   }
   else {
     if(logflags[0] != 'l'){
@@ -489,12 +498,12 @@ void compute_data_bounds2(int cflag,char dataflag, char * logflags, double *x,do
   size_y = (cflag == 1) ? n2 : (n1*n2) ;
   if (size_y != 0) {
     if(logflags[1] != 'l'){
-      drect[2] =  Mini(y, size_y); 
-      drect[3] =  Maxi(y,size_y); 
+      drect[2] =  Mini(y, size_y);
+      drect[3] =  Maxi(y,size_y);
     }
     else{/* log. case */
-      drect[2] =  sciFindStPosMin(y,size_y); 
-      drect[3] =  Maxi(y,size_y); 
+      drect[2] =  sciFindStPosMin(y,size_y);
+      drect[3] =  Maxi(y,size_y);
     }
 
   }
@@ -509,8 +518,8 @@ void compute_data_bounds2(int cflag,char dataflag, char * logflags, double *x,do
     }
   }
   /* back to default values for  x=[] and y = [] */
-  if ( drect[2] == LARGEST_REAL ) { drect[2] = 0.0; drect[3] = 10.0 ;} 
-  if ( drect[0] == LARGEST_REAL ) { drect[0] = 0.0; drect[1] = 10.0 ;} 
+  if ( drect[2] == LARGEST_REAL ) { drect[2] = 0.0; drect[3] = 10.0 ;}
+  if ( drect[0] == LARGEST_REAL ) { drect[0] = 0.0; drect[1] = 10.0 ;}
 
 }
 
@@ -527,7 +536,7 @@ BOOL update_specification_bounds(sciPointObj  *psubwin,double rect[6],int flag)
    */
   if (flag != 3)
   {
-    dataBounds = (double*) getGraphicObjectProperty(psubwin->UID, __GO_DATA_BOUNDS__, jni_double_vector);
+      getGraphicObjectProperty(psubwin->UID, __GO_DATA_BOUNDS__, jni_double_vector, &dataBounds);
 
     rect[4] = dataBounds[4];
     rect[5] = dataBounds[5];
@@ -556,7 +565,7 @@ int re_index_brect(double * brect, double * drect)
   drect[1] = brect[2];
   drect[2] = brect[1];
   drect[3] = brect[3];
-  
+
   return 0;
 }
 /* F.Leray 07.05.04 */
@@ -585,29 +594,30 @@ BOOL strflag2axes_properties(sciPointObj * psubwin, char * strflag)
   int axesVisiblePrev[3];
   int axesVisible[3];
 
-  int* tmp;
+  int iTmp = 0;
+  int* piTmp = &iTmp;
 
 
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_VISIBLE__, jni_bool);
-  axesVisiblePrev[0] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_VISIBLE__, jni_bool);
-  axesVisiblePrev[1] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_VISIBLE__, jni_bool);
-  axesVisiblePrev[2] = *tmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_VISIBLE__, jni_bool, &piTmp);
+  axesVisiblePrev[0] = iTmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_VISIBLE__, jni_bool, &piTmp);
+  axesVisiblePrev[1] = iTmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_VISIBLE__, jni_bool, &piTmp);
+  axesVisiblePrev[2] = iTmp;
 
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_BOX_TYPE__, jni_int);
-  boxPrev = *tmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_BOX_TYPE__, jni_int, &piTmp);
+  boxPrev = iTmp;
 
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOCATION__, jni_int);
-  xLocationPrev = *tmp;
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOCATION__, jni_int);
-  yLocationPrev = *tmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOCATION__, jni_int, &piTmp);
+  xLocationPrev = iTmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOCATION__, jni_int, &piTmp);
+  yLocationPrev = iTmp;
 
 
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_TIGHT_LIMITS__, jni_bool);
-  tightLimitsPrev = *tmp;
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_ISOVIEW__, jni_bool);
-  isoviewPrev = *tmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_TIGHT_LIMITS__, jni_bool, &piTmp);
+  tightLimitsPrev = iTmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_ISOVIEW__, jni_bool, &piTmp);
+  isoviewPrev = iTmp;
 
   /* F.Leray 07.05.04 */
   /* strflag[1] Isoview & tight_limits flags management*/
@@ -635,8 +645,8 @@ BOOL strflag2axes_properties(sciPointObj * psubwin, char * strflag)
   switch (strflag[2])  {
 
   case '0':
-    tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_FIRST_PLOT__, jni_bool);
-    firstPlot = *tmp;
+      getGraphicObjectProperty(psubwin->UID, __GO_FIRST_PLOT__, jni_bool, &piTmp);
+    firstPlot = iTmp;
 
     if(firstPlot)
     {
@@ -652,7 +662,7 @@ BOOL strflag2axes_properties(sciPointObj * psubwin, char * strflag)
     }
     /*else no changes : the isaxes properties is driven by the previous plot */
     break;
-  case '1' : 
+  case '1' :
     axisVisible = 1;
     /* 1: ON */
     boxType = 1;
@@ -666,7 +676,7 @@ BOOL strflag2axes_properties(sciPointObj * psubwin, char * strflag)
     setGraphicObjectProperty(psubwin->UID, __GO_BOX_TYPE__, &boxType, jni_int, 1);
 
     break;
-  case '2' : 
+  case '2' :
     axisVisible = 0;
     boxType = 1;
 
@@ -677,7 +687,7 @@ BOOL strflag2axes_properties(sciPointObj * psubwin, char * strflag)
     setGraphicObjectProperty(psubwin->UID, __GO_BOX_TYPE__, &boxType, jni_int, 1);
 
     break;
-  case '3' : 
+  case '3' :
     axisVisible = 1;
     boxType = 0;
     /* 5: RIGHT */
@@ -730,25 +740,25 @@ BOOL strflag2axes_properties(sciPointObj * psubwin, char * strflag)
     setGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_VISIBLE__, &axisVisible, jni_bool, 1);
   }
 
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_VISIBLE__, jni_bool);
-  axesVisible[0] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_VISIBLE__, jni_bool);
-  axesVisible[1] = *tmp;
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_VISIBLE__, jni_bool);
-  axesVisible[2] = *tmp;
-
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_BOX_TYPE__, jni_int);
-  boxType = *tmp;
-
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOCATION__, jni_int);
-  xLocation = *tmp;
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOCATION__, jni_int);
-  yLocation = *tmp;
-
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_TIGHT_LIMITS__, jni_bool);
-  tightLimits = *tmp;
-  tmp = (int*) getGraphicObjectProperty(psubwin->UID, __GO_ISOVIEW__, jni_bool);
-  isoview = *tmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_VISIBLE__, jni_bool, &piTmp);
+  axesVisible[0] = iTmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_VISIBLE__, jni_bool, &piTmp);
+  axesVisible[1] = iTmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_Z_AXIS_VISIBLE__, jni_bool, &piTmp);
+  axesVisible[2] = iTmp;
+
+  getGraphicObjectProperty(psubwin->UID, __GO_BOX_TYPE__, jni_int, &piTmp);
+  boxType = iTmp;
+
+  getGraphicObjectProperty(psubwin->UID, __GO_X_AXIS_LOCATION__, jni_int, &piTmp);
+  xLocation = iTmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_Y_AXIS_LOCATION__, jni_int, &piTmp);
+  yLocation = iTmp;
+
+  getGraphicObjectProperty(psubwin->UID, __GO_TIGHT_LIMITS__, jni_bool, &piTmp);
+  tightLimits = iTmp;
+  getGraphicObjectProperty(psubwin->UID, __GO_ISOVIEW__, jni_bool, &piTmp);
+  isoview = iTmp;
 
   /* Find if something has changed */
   if (axesVisible[0] != axesVisiblePrev[0]
index 5ad4011..6ad3c3f 100644 (file)
@@ -2237,7 +2237,7 @@ sciSetPoint(sciPointObj * pthis, double *tab, int *numrow, int *numcol)
   double * pvfz = NULL ;
   int * pstyle = NULL;
 
-  type = (char*) getGraphicObjectProperty(pthis->UID, __GO_TYPE__, jni_string);
+  getGraphicObjectProperty(pthis->UID, __GO_TYPE__, jni_string, &type);
 
   /*
    * switch over sciGetEntityType replaced by object type string comparisons
@@ -2336,7 +2336,7 @@ sciSetPoint(sciPointObj * pthis, double *tab, int *numrow, int *numcol)
            * Needed in order to set the z coordinate if size == 4
            * Being able to set only the point's x and y coordinates values would avoid doing this.
            */
-          currentUpperLeftPoint = (double*) getGraphicObjectProperty(pthis->UID, __GO_UPPER_LEFT_POINT__, jni_double_vector);
+          getGraphicObjectProperty(pthis->UID, __GO_UPPER_LEFT_POINT__, jni_double_vector, &currentUpperLeftPoint);
           upperLeftPoint[2] = currentUpperLeftPoint[2];
       }
 
@@ -2392,7 +2392,7 @@ sciSetPoint(sciPointObj * pthis, double *tab, int *numrow, int *numcol)
       else
       {
           /* Needed in order to set the z coordinate if size == 6 */
-          currentUpperLeftPoint = (double*) getGraphicObjectProperty(pthis->UID, __GO_UPPER_LEFT_POINT__, jni_double_vector);
+          getGraphicObjectProperty(pthis->UID, __GO_UPPER_LEFT_POINT__, jni_double_vector, &currentUpperLeftPoint);
 
           upperLeftPoint[2] = currentUpperLeftPoint[2];
           width = tab[2];
index a10de1b..2504c47 100644 (file)
@@ -2,11 +2,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2004-2006 - INRIA - Fabrice Leray
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -52,7 +52,7 @@ int sciZoom2D(sciPointObj * subwin, const double zoomRect[4])
 
   // add Z scale to data bounds.
 
-  zoomBox = (double*) getGraphicObjectProperty(subwin->UID, __GO_DATA_BOUNDS__, jni_double_vector);
+  getGraphicObjectProperty(subwin->UID, __GO_DATA_BOUNDS__, jni_double_vector, &zoomBox);
 
 #if 0
   sciGetDataBounds(subwin, zoomBox);
@@ -269,7 +269,7 @@ void sciDefaultInteractiveZoom(void)
   curFigure = sciGetCurrentFigure();
   endGraphicDataWriting();
 
+
   /* zoom current figure */
   interactiveZoom(curFigure);
 }
@@ -360,7 +360,7 @@ void unzoomSubwin(sciPointObj * pSubwin)
  */
 void sciUnzoomFigure(sciPointObj * figure)
 {
-  /* Copy subwins into the array */ 
+  /* Copy subwins into the array */
   sciSons * pSons = sciGetSons(figure);
   while (pSons != NULL)
   {
@@ -413,7 +413,7 @@ void sciUnzoomArray(sciPointObj * zoomedObjects[], int nbObjects)
       /* Unzoom only figure */
       sciUnzoomSubwin(zoomedObjects[i]);
     }
-    
+
     if (List_find(redrawnFigures, parentFigure) == NULL)
     {
       /* figure not already added for redraw */
index 4d03944..b047ce1 100644 (file)
@@ -2,11 +2,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*------------------------------------------------------------------------*/
 int get_alignment_property( sciPointObj * pobj )
 {
-    int* alignment;
+    int iAlignment = 0;
+    int* piAlignment = &iAlignment;
 
-    alignment = (int*) getGraphicObjectProperty(pobj->UID, __GO_ALIGNMENT__, jni_int);
+    getGraphicObjectProperty(pobj->UID, __GO_ALIGNMENT__, jni_int, &piAlignment);
 
-    if (alignment == NULL)
+    if (piAlignment == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"alignment");
         return -1;
     }
 
-    if (*alignment == 0)
+    if (iAlignment == 0)
     {
         return sciReturnString("left");
     }
-    else if (*alignment == 1)
+    else if (iAlignment == 1)
     {
         return sciReturnString("right");
     }
-    else if (*alignment == 2)
+    else if (iAlignment == 2)
     {
         return sciReturnString("center");
     }
index 381ae67..0754657 100644 (file)
 /*------------------------------------------------------------------------*/
 int get_anti_aliasing_property( sciPointObj * pobj )
 {
-  int* antialiasing = (int *) getGraphicObjectProperty(pobj->UID, __GO_ANTIALIASING__, jni_int);
+    int iAntialiasing = 0;
+    int* piAntialiasing = &iAntialiasing;
+    getGraphicObjectProperty(pobj->UID, __GO_ANTIALIASING__, jni_int, &piAntialiasing);
 
-  if ( antialiasing == NULL )
-  {
-      Scierror(999, _("'%s' property does not exist for this handle.\n"),"anti_aliasing");
-      return -1;
-  }
+    if ( piAntialiasing == NULL )
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"),"anti_aliasing");
+        return -1;
+    }
 
-  switch(*antialiasing)
-  {
-  case 0:
-      return sciReturnString("off");
-      break;
-  case 2:
-      return sciReturnString("2x");
-      break;
-  case 4:
-      return sciReturnString("4x");
-      break;
-  case 8:
-      return sciReturnString("8x");
-      break;
-  case 16:
-      return sciReturnString("16x");
-      break;
-  default:
-      Scierror(999, _("Wrong value for '%s' property.\n"),"anti_aliasing");
-      return -1 ;
-      break;
-  }
+    switch(iAntialiasing)
+    {
+    case 0:
+        return sciReturnString("off");
+        break;
+    case 2:
+        return sciReturnString("2x");
+        break;
+    case 4:
+        return sciReturnString("4x");
+        break;
+    case 8:
+        return sciReturnString("8x");
+        break;
+    case 16:
+        return sciReturnString("16x");
+        break;
+    default:
+        Scierror(999, _("Wrong value for '%s' property.\n"),"anti_aliasing");
+        return -1 ;
+        break;
+    }
 
-  return sciReturnString("off");
+    return sciReturnString("off");
 
 }
 /*------------------------------------------------------------------------*/
index 7ee3242..4404c99 100644 (file)
@@ -2,11 +2,11 @@
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2008 - INRIA - Jean-Baptiste Silvy
 * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
-* 
+*
 * This file must be used under the terms of the CeCILL.
 * This source file is licensed as described in the file COPYING, which
 * you should have received as part of this distribution.  The terms
-* are also available at    
+* are also available at
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 */
@@ -29,7 +29,8 @@
 /*------------------------------------------------------------------------*/
 int get_arc_drawing_method_property( sciPointObj * pobj )
 {
-    int* arcDrawingMethod;
+    int iArcDrawingMethod = 0;
+    int* piArcDrawingMethod = &iArcDrawingMethod;
 
 #if 0
     if ( sciGetEntityType(pobj) != SCI_ARC && sciGetEntityType(pobj) != SCI_SUBWIN )
@@ -39,20 +40,20 @@ int get_arc_drawing_method_property( sciPointObj * pobj )
     }
 #endif
 
-    arcDrawingMethod = (int*) getGraphicObjectProperty(pobj->UID, __GO_ARC_DRAWING_METHOD__, jni_int);
+    getGraphicObjectProperty(pobj->UID, __GO_ARC_DRAWING_METHOD__, jni_int, &piArcDrawingMethod);
 
-    if (arcDrawingMethod == NULL)
+    if (piArcDrawingMethod == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"arc_drawing_method");
         return -1;
     }
 
     /* 0: nurbs, 1: lines */
-    if (*arcDrawingMethod == 0)
+    if (iArcDrawingMethod == 0)
     {
         return sciReturnString("nurbs");
     }
-    else if (*arcDrawingMethod == 1)
+    else if (iArcDrawingMethod == 1)
     {
         return sciReturnString("lines");
     }
index 66fcf78..30c6740 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -31,7 +31,8 @@
 /*------------------------------------------------------------------------*/
 int get_arrow_size_factor_property( sciPointObj * pobj )
 {
-    double* arrowSizeFactor;
+    double dblArrowSizeFactor = 0;
+    double* pdblArrowSizeFactor = &dblArrowSizeFactor;
 
 #if 0
     if( sciGetEntityType(pobj) != SCI_POLYLINE)
@@ -41,14 +42,14 @@ int get_arrow_size_factor_property( sciPointObj * pobj )
     }
 #endif
 
-    arrowSizeFactor = (double*) getGraphicObjectProperty(pobj->UID, __GO_ARROW_SIZE_FACTOR__, jni_double);
+    getGraphicObjectProperty(pobj->UID, __GO_ARROW_SIZE_FACTOR__, jni_double, &pdblArrowSizeFactor);
 
-    if (arrowSizeFactor == NULL)
+    if (pdblArrowSizeFactor == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"), "arrow_size_factor");
         return -1;
     }
 
-    return sciReturnDouble(*arrowSizeFactor);
+    return sciReturnDouble(dblArrowSizeFactor);
 }
 /*------------------------------------------------------------------------*/
index 924c678..1a83ba1 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*------------------------------------------------------------------------*/
 int get_auto_clear_property( sciPointObj * pobj )
 {
-  int* autoClear;
+    int iAutoClear = 0;
+    int* piAutoClear = &iAutoClear;
 
 #if 0
-  if (   sciGetEntityType(pobj) != SCI_SUBWIN 
-      && sciGetEntityType(pobj) != SCI_FIGURE )
-  {
-    Scierror(999, _("'%s' property does not exist for this handle.\n"), "auto_clear property") ;
-    return -1 ;
-  }
+    if (   sciGetEntityType(pobj) != SCI_SUBWIN
+           && sciGetEntityType(pobj) != SCI_FIGURE )
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"), "auto_clear property") ;
+        return -1 ;
+    }
 #endif
 
-  autoClear = (int*) getGraphicObjectProperty(pobj->UID, __GO_AUTO_CLEAR__, jni_bool);
-
-  if (autoClear == NULL)
-  {
-    Scierror(999, _("'%s' property does not exist for this handle.\n"), "auto_clear property");
-    return -1;
-  }
-
-  if (*autoClear)
-  {
-    return sciReturnString( "on" );
-  }
-  else
-  {
-    return sciReturnString( "off" );
-  }
+    getGraphicObjectProperty(pobj->UID, __GO_AUTO_CLEAR__, jni_bool, &piAutoClear);
+
+    if (piAutoClear == NULL)
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"), "auto_clear property");
+        return -1;
+    }
+
+    if (iAutoClear)
+    {
+        return sciReturnString( "on" );
+    }
+    else
+    {
+        return sciReturnString( "off" );
+    }
 }
 /*------------------------------------------------------------------------*/
index 083725e..8660a02 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*------------------------------------------------------------------------*/
 int get_auto_dimensionning_property( sciPointObj * pobj )
 {
-    int* autoDimensioning;
+    int iAutoDimensioning = 0;
+    int* piAutoDimensioning = &iAutoDimensioning;
 
-    autoDimensioning = (int*) getGraphicObjectProperty(pobj->UID, __GO_AUTO_DIMENSIONING__, jni_bool);
+    getGraphicObjectProperty(pobj->UID, __GO_AUTO_DIMENSIONING__, jni_bool, &piAutoDimensioning);
 
-    if (autoDimensioning == NULL)
+    if (piAutoDimensioning == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"auto_dimensionning");
         return -1;
     }
 
-    if (*autoDimensioning)
+    if (iAutoDimensioning)
     {
         return sciReturnString( "on" );
     }
index 803d200..8452693 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -31,7 +31,8 @@
 /*------------------------------------------------------------------------*/
 int get_auto_position_property( sciPointObj * pobj )
 {
-    int* autoPosition;
+    int iAutoPosition = 0;
+    int* piAutoPosition = &iAutoPosition;
 
 #if 0
     if( sciGetEntityType(pobj) != SCI_LABEL )
@@ -41,15 +42,15 @@ int get_auto_position_property( sciPointObj * pobj )
     }
 #endif
 
-    autoPosition = (int*) getGraphicObjectProperty(pobj->UID, __GO_AUTO_POSITION__, jni_bool);
+    getGraphicObjectProperty(pobj->UID, __GO_AUTO_POSITION__, jni_bool, &piAutoPosition);
 
-    if (autoPosition == NULL)
+    if (piAutoPosition == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"), "auto_position");
         return -1;
     }
 
-    if (*autoPosition)
+    if (iAutoPosition)
     {
         return sciReturnString( "on" );
     }
index 44afbfa..d536ad2 100644 (file)
 /*------------------------------------------------------------------------*/
 int get_auto_resize_property( sciPointObj * pobj )
 {
-  int* autoResize = (int*)getGraphicObjectProperty(pobj->UID, __GO_AUTORESIZE__, jni_bool);;
+    int iAutoResize = 0;
+    int* piAutoResize =  &iAutoResize;
+    getGraphicObjectProperty(pobj->UID, __GO_AUTORESIZE__, jni_bool, &piAutoResize);
 
-  if ( autoResize == NULL )
-  {
-    Scierror(999, _("'%s' property does not exist for this handle.\n"),"auto_resize");
-    return -1 ;
-  }
+    if ( piAutoResize == NULL )
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"),"auto_resize");
+        return -1 ;
+    }
 
-  if (*autoResize)
-  {
-     return sciReturnString( "on" ) ;
-  }
-  else
-  {
-    return sciReturnString( "off" ) ;
-  }
+    if (iAutoResize)
+    {
+        return sciReturnString( "on" ) ;
+    }
+    else
+    {
+        return sciReturnString( "off" ) ;
+    }
 }
 /*------------------------------------------------------------------------*/
index fd01a02..ab8ebb8 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -31,7 +31,8 @@
 /*------------------------------------------------------------------------*/
 int get_auto_rotation_property( sciPointObj * pobj )
 {
-    int* autoRotation;
+    int iAutoRotation = 0;
+    int* piAutoRotation = &iAutoRotation;
 
 #if 0
     if( sciGetEntityType(pobj) != SCI_LABEL )
@@ -41,15 +42,15 @@ int get_auto_rotation_property( sciPointObj * pobj )
     }
 #endif
 
-    autoRotation = (int*) getGraphicObjectProperty(pobj->UID, __GO_AUTO_ROTATION__, jni_bool);
+    getGraphicObjectProperty(pobj->UID, __GO_AUTO_ROTATION__, jni_bool, &piAutoRotation);
 
-    if (autoRotation == NULL)
+    if (piAutoRotation == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"), "auto_rotation");
         return -1;
     }
 
-    if (*autoRotation)
+    if (iAutoRotation)
     {
         return sciReturnString( "on" );
     }
index f712e4d..3ed1735 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -31,7 +31,8 @@
 /*------------------------------------------------------------------------*/
 int get_auto_scale_property( sciPointObj * pobj )
 {
-    int* autoScale;
+    int iAutoScale = 0;
+    int* piAutoScale = &iAutoScale;
 
 #if 0
     if (sciGetEntityType(pobj) != SCI_FIGURE && sciGetEntityType(pobj) != SCI_SUBWIN)
@@ -41,15 +42,15 @@ int get_auto_scale_property( sciPointObj * pobj )
     }
 #endif
 
-    autoScale = (int*) getGraphicObjectProperty(pobj->UID, __GO_AUTO_SCALE__, jni_bool);
+    getGraphicObjectProperty(pobj->UID, __GO_AUTO_SCALE__, jni_bool, &piAutoScale);
 
-    if (autoScale == NULL)
+    if (piAutoScale == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"auto_scale");
         return -1;
     }
 
-    if (*autoScale)
+    if (iAutoScale)
     {
         return sciReturnString( "on" );
     }
index 40d487e..e7b84cc 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -37,7 +37,8 @@ int get_auto_ticks_property( sciPointObj * pobj )
 {
   char * auto_ticks[3]  = { NULL, NULL, NULL };
   char* axesAutoTicksPropertiesNames[3] = {__GO_X_AXIS_AUTO_TICKS__, __GO_Y_AXIS_AUTO_TICKS__, __GO_Z_AXIS_AUTO_TICKS__};
-  int* autoTicks;
+  int iAutoTicks = 0;
+  int* piAutoTicks = &iAutoTicks;
 
   int i;
   int j;
@@ -46,40 +47,40 @@ int get_auto_ticks_property( sciPointObj * pobj )
 #if 0
   if ( sciGetEntityType (pobj) != SCI_SUBWIN )
   {
-    Scierror(999, _("'%s' property does not exist for this handle.\n"),"auto_ticks");
-    return -1;
+      Scierror(999, _("'%s' property does not exist for this handle.\n"),"auto_ticks");
+      return -1;
   }
 #endif
 
   for ( i = 0 ; i < 3 ; i++ )
   {
-    autoTicks = (int*) getGraphicObjectProperty(pobj->UID, axesAutoTicksPropertiesNames[i], jni_bool);
+      getGraphicObjectProperty(pobj->UID, axesAutoTicksPropertiesNames[i], jni_bool, &piAutoTicks);
 
-    if (autoTicks == NULL)
-    {
-      Scierror(999, _("'%s' property does not exist for this handle.\n"),"auto_ticks");
-      return -1;
-    }
-
-    if (*autoTicks)
-    {
-      auto_ticks[i] = strdup("on");
-    }
-    else
-    {
-      auto_ticks[i] = strdup("off");
-    }
+      if (piAutoTicks == NULL)
+      {
+          Scierror(999, _("'%s' property does not exist for this handle.\n"),"auto_ticks");
+          return -1;
+      }
 
-    if (auto_ticks[i] == NULL)
-    {
-      for ( j = 0 ; j < i ; j++ )
+      if (iAutoTicks)
+      {
+          auto_ticks[i] = strdup("on");
+      }
+      else
       {
-        FREE(auto_ticks[j]);
+          auto_ticks[i] = strdup("off");
       }
 
-      Scierror(999, _("%s: No more memory.\n"),"get_auto_ticks_property");
-      return -1;
-    }
+      if (auto_ticks[i] == NULL)
+      {
+          for ( j = 0 ; j < i ; j++ )
+          {
+              FREE(auto_ticks[j]);
+          }
+
+          Scierror(999, _("%s: No more memory.\n"),"get_auto_ticks_property");
+          return -1;
+      }
 
   }
 
@@ -87,7 +88,7 @@ int get_auto_ticks_property( sciPointObj * pobj )
 
   for ( i = 0 ; i < 3 ; i++ )
   {
-    FREE( auto_ticks[i] );
+      FREE( auto_ticks[i] );
   }
 
   return status ;
index b8990b2..56c1a51 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*------------------------------------------------------------------------*/
 int get_axes_bounds_property( sciPointObj * pobj )
 {
-  double* axesBounds;
+    double* axesBounds;
 
 #if 0
-  if ( sciGetEntityType(pobj) != SCI_SUBWIN )
-  {
-    Scierror(999, _("'%s' property does not exist for this handle.\n"),"axes_bounds") ;
-    return -1 ;
-  }
+    if ( sciGetEntityType(pobj) != SCI_SUBWIN )
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"),"axes_bounds") ;
+        return -1 ;
+    }
 #endif
 
-  axesBounds = (double*) getGraphicObjectProperty(pobj->UID, __GO_AXES_BOUNDS__, jni_double_vector);
+    getGraphicObjectProperty(pobj->UID, __GO_AXES_BOUNDS__, jni_double_vector, &axesBounds);
 
-  if (axesBounds == NULL)
-  {
-    Scierror(999, _("'%s' property does not exist for this handle.\n"),"axes_bounds");
-    return -1;
-  }
+    if (axesBounds == NULL)
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"),"axes_bounds");
+        return -1;
+    }
 
-  return sciReturnRowVector( axesBounds, 4 );
+    return sciReturnRowVector( axesBounds, 4 );
 }
 /*------------------------------------------------------------------------*/
index da7df4c..2e625b5 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -36,7 +36,8 @@ int get_axes_reverse_property( sciPointObj * pobj )
 {
   char* axesReversePropertiesNames[3] = {__GO_X_AXIS_REVERSE__, __GO_Y_AXIS_REVERSE__, __GO_Z_AXIS_REVERSE__};
   char * axes_reverse[3]  = { NULL, NULL, NULL };
-  int* axesReverse;
+  int iAxesReverse = 0;
+  int* piAxesReverse = &iAxesReverse;
 
   int i;
   int j;
@@ -52,33 +53,33 @@ int get_axes_reverse_property( sciPointObj * pobj )
 
   for ( i = 0 ; i < 3 ; i++ )
   {
-    axesReverse = (int*) getGraphicObjectProperty(pobj->UID, axesReversePropertiesNames[i], jni_bool);
-
-    if (axesReverse == NULL)
-    {
-      Scierror(999, _("'%s' property does not exist for this handle.\n"),"axes_reverse");
-      return -1;
-    }
+      getGraphicObjectProperty(pobj->UID, axesReversePropertiesNames[i], jni_bool, &piAxesReverse);
 
-    if (*axesReverse)
-    {
-      axes_reverse[i] = strdup("on");
-    }
-    else
-    {
-      axes_reverse[i] = strdup("off");
-    }
+      if (piAxesReverse == NULL)
+      {
+          Scierror(999, _("'%s' property does not exist for this handle.\n"),"axes_reverse");
+          return -1;
+      }
 
-    if (axes_reverse[i] == NULL)
-    {
-      for ( j = 0 ; j < i ; j++ )
+      if (iAxesReverse)
       {
-        FREE(axes_reverse[j]);
+          axes_reverse[i] = strdup("on");
       }
+      else
+      {
+          axes_reverse[i] = strdup("off");
+      }
+
+      if (axes_reverse[i] == NULL)
+      {
+          for ( j = 0 ; j < i ; j++ )
+          {
+              FREE(axes_reverse[j]);
+          }
 
-      Scierror(999, _("%s: No more memory.\n"),"get_axes_reverse_property");
-      return -1;
-    }
+          Scierror(999, _("%s: No more memory.\n"),"get_axes_reverse_property");
+          return -1;
+      }
 
   }
 
@@ -86,7 +87,7 @@ int get_axes_reverse_property( sciPointObj * pobj )
 
   for ( i = 0 ; i < 3 ; i++ )
   {
-    FREE( axes_reverse[i] );
+      FREE( axes_reverse[i] );
   }
 
   return status;
index 0a95ced..6370c8b 100644 (file)
 /*------------------------------------------------------------------------*/
 int get_axes_size_property( sciPointObj * pobj )
 {
-  int* axesSize = (int*)getGraphicObjectProperty(pobj->UID, __GO_AXES_SIZE__, jni_int_vector);;
+    int* axesSize;
+    getGraphicObjectProperty(pobj->UID, __GO_AXES_SIZE__, jni_int_vector, &axesSize);
 
-  if ( axesSize == NULL )
-  {
-    Scierror(999, _("'%s' property does not exist for this handle.\n"),"axes_size");
-    return -1;
-  }
+    if ( axesSize == NULL )
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"), "axes_size");
+        return -1;
+    }
 
-  return sciReturnRowIntVector(axesSize, 2);
+    return sciReturnRowIntVector(axesSize, 2);
 }
 /*------------------------------------------------------------------------*/
index ef2bad4..6ae3315 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*------------------------------------------------------------------------*/
 int get_axes_visible_property( sciPointObj * pobj )
 {
-  char * axes_visible[3]  = { NULL, NULL, NULL };
-  char* axesVisiblePropertiesNames[3] = {__GO_X_AXIS_VISIBLE__, __GO_Y_AXIS_VISIBLE__, __GO_Z_AXIS_VISIBLE__};
-  int* axesVisible;
+    char * axes_visible[3]  = { NULL, NULL, NULL };
+    char* axesVisiblePropertiesNames[3] = {__GO_X_AXIS_VISIBLE__, __GO_Y_AXIS_VISIBLE__, __GO_Z_AXIS_VISIBLE__};
+    int iAxesVisible = 0;
+    int* piAxesVisible = &iAxesVisible;
 
-  int i;
-  int j;
-  int status = -1;
+    int i;
+    int j;
+    int status = -1;
 
 #if 0
-  if ( sciGetEntityType (pobj) != SCI_SUBWIN )
-  {
-    Scierror(999, _("'%s' property does not exist for this handle.\n"),"axes_visible");
-    return -1;
-  }
-#endif
-
-  for ( i = 0 ; i < 3 ; i++ )
-  {
-    axesVisible = (int*) getGraphicObjectProperty(pobj->UID, axesVisiblePropertiesNames[i], jni_bool);
-
-    if (axesVisible == NULL)
+    if ( sciGetEntityType (pobj) != SCI_SUBWIN )
     {
-      Scierror(999, _("'%s' property does not exist for this handle.\n"),"axes_visible");
-      return -1;
+        Scierror(999, _("'%s' property does not exist for this handle.\n"),"axes_visible");
+        return -1;
     }
+#endif
 
-    if (*axesVisible)
-    {
-      axes_visible[i] = strdup("on");
-    }
-    else
+    for ( i = 0 ; i < 3 ; i++ )
     {
-      axes_visible[i] = strdup("off");
-    }
+        getGraphicObjectProperty(pobj->UID, axesVisiblePropertiesNames[i], jni_bool, &piAxesVisible);
 
-    if (axes_visible[i] == NULL)
-    {
-      for ( j = 0 ; j < i ; j++ )
-      {
-        FREE(axes_visible[j]);
-      }
+        if (piAxesVisible == NULL)
+        {
+            Scierror(999, _("'%s' property does not exist for this handle.\n"),"axes_visible");
+            return -1;
+        }
 
-      Scierror(999, _("%s: No more memory.\n"),"get_axes_visible_property");
-      return -1;
-    }
+        if (iAxesVisible)
+        {
+            axes_visible[i] = strdup("on");
+        }
+        else
+        {
+            axes_visible[i] = strdup("off");
+        }
 
-  }
+        if (axes_visible[i] == NULL)
+        {
+            for ( j = 0 ; j < i ; j++ )
+            {
+                FREE(axes_visible[j]);
+            }
 
-  status = sciReturnRowStringVector( axes_visible, 3 );
+            Scierror(999, _("%s: No more memory.\n"),"get_axes_visible_property");
+            return -1;
+        }
+
+    }
 
-  for ( i = 0 ; i < 3 ; i++ )
-  {
-    FREE( axes_visible[i] );
-  }
+    status = sciReturnRowStringVector( axes_visible, 3 );
+
+    for ( i = 0 ; i < 3 ; i++ )
+    {
+        FREE( axes_visible[i] );
+    }
 
-  return status ;
+    return status ;
 }
 /*------------------------------------------------------------------------*/
index 8ad2870..c193c27 100644 (file)
 /*------------------------------------------------------------------------*/
 int get_background_property( sciPointObj * pobj )
 {
-    int* background = (int*)getGraphicObjectProperty(pobj->UID, __GO_BACKGROUND__, jni_int);
+    int iBackground = 0;
+    int *piBackground = &iBackground;
 
-    if (background == NULL)
+    getGraphicObjectProperty(pobj->UID, __GO_BACKGROUND__, jni_int, &piBackground);
+
+    if (piBackground == NULL)
     {
         /* This object has not a background color */
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"background");
         return -1;
     }
 
-    return sciReturnDouble(*background);
+    return sciReturnDouble(iBackground);
 
 /* deactivated for now, to be implemented */
 #if 0
index c5abf96..b8b7c18 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*------------------------------------------------------------------------*/
 int get_bar_width_property( sciPointObj * pobj )
 {
-    double* barWidth;
+    double dblBarWidth = 0.0;
+    double *pdblBarWidth = &dblBarWidth;
 
-    barWidth = (double*) getGraphicObjectProperty(pobj->UID, __GO_BAR_WIDTH__, jni_double);
+    getGraphicObjectProperty(pobj->UID, __GO_BAR_WIDTH__, jni_double, &pdblBarWidth);
 
-    if (barWidth == NULL)
-    { 
+    if (pdblBarWidth == NULL)
+    {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"bar_width");
         return -1;
     }
 
-    return sciReturnDouble(*barWidth);
+    return sciReturnDouble(dblBarWidth);
 }
 /*------------------------------------------------------------------------*/
index 1ca7e57..5a8949a 100644 (file)
@@ -5,11 +5,11 @@
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2009 - DIGITEO - Pierre Lando
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*------------------------------------------------------------------------*/
 int get_box_property( sciPointObj * pobj )
 {
-    int* boxType;
+    int iBoxType = 0;
+    int* piBoxType = &iBoxType;
 
-    boxType = (int*) getGraphicObjectProperty(pobj->UID, __GO_BOX_TYPE__, jni_int);
+    getGraphicObjectProperty(pobj->UID, __GO_BOX_TYPE__, jni_int, &piBoxType);
 
-    if (boxType == NULL) {
+    if (piBoxType == NULL) {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"box");
         return -1;
     }
 
-    if (*boxType == 0)
+    if (iBoxType == 0)
     {
         return sciReturnString("off");
     }
-    else if (*boxType == 1)
+    else if (iBoxType == 1)
     {
         return sciReturnString("on");
     }
-    else if (*boxType == 2)
+    else if (iBoxType == 2)
     {
         return sciReturnString("hidden_axes");
     }
-    else if (*boxType == 3)
+    else if (iBoxType == 3)
     {
         return sciReturnString("back_half");
     }
@@ -73,7 +74,7 @@ int get_box_property( sciPointObj * pobj )
     }
     else
     {
-      return sciReturnString( "off" );  
+      return sciReturnString( "off" );
     }
   }
 #endif
index 292a126..935b3ba 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -31,7 +31,8 @@
 /*------------------------------------------------------------------------*/
 int get_cdata_mapping_property( sciPointObj * pobj )
 {
-    int* cdataMapping;
+    int iCDataMapping = 0;
+    int* piCDataMapping = &iCDataMapping;
 
 #if 0
     if ( pSURFACE_FEATURE (pobj)->typeof3d != SCI_FAC3D )
@@ -41,19 +42,19 @@ int get_cdata_mapping_property( sciPointObj * pobj )
     }
 #endif
 
-    cdataMapping = (int*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MAPPING__, jni_int);
+    getGraphicObjectProperty(pobj->UID, __GO_DATA_MAPPING__, jni_int, &piCDataMapping);
 
-    if (cdataMapping == NULL)
+    if (piCDataMapping == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"cdata_mapping");
         return -1;
     }
 
-    if (*cdataMapping == 0)
+    if (iCDataMapping == 0)
     {
         return sciReturnString("scaled");
     }
-    else if (*cdataMapping == 1)
+    else if (iCDataMapping == 1)
     {
         return sciReturnString("direct");
     }
index a1c4df9..7e9b232 100644 (file)
@@ -37,10 +37,13 @@ int get_children_property( sciPointObj * pobj )
     int status = 0;
     sciPointObj *pobjChildren = NULL;
     long *plChildren = NULL;
+    char **pstChildrenUID;
 
     // All Graphic Objects have __GO_CHILDREN__ & __GO_CHILDREN_COUNT__ properties.
-    int *piChildrenCount = getGraphicObjectProperty(pobj->UID, __GO_CHILDREN_COUNT__, jni_int);
-    char **pstChildrenUID = NULL;
+    int iChildrenCount = 0;
+    int *piChildrenCount = &iChildrenCount;
+    getGraphicObjectProperty(pobj->UID, __GO_CHILDREN_COUNT__, jni_int, &piChildrenCount);
+
 
     if (piChildrenCount[0] == 0)
     {
@@ -48,7 +51,7 @@ int get_children_property( sciPointObj * pobj )
         return sciReturnEmptyMatrix();
     }
 
-    pstChildrenUID = getGraphicObjectProperty(pobj->UID, __GO_CHILDREN__, jni_string_vector);
+    getGraphicObjectProperty(pobj->UID, __GO_CHILDREN__, jni_string_vector, &pstChildrenUID);
 
     plChildren = MALLOC(piChildrenCount[0] * sizeof(long));
 
index b6372ce..2df6e0b 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*------------------------------------------------------------------------*/
 int get_clip_box_property( sciPointObj * pobj )
 {
-  int* tmp;
-  int clipState;
-  double* clipBox;
+    int iClipState = 0;
+    int* piClipState = &iClipState;
+    double* clipBox;
 
-  tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_CLIP_STATE__, jni_int);
+    getGraphicObjectProperty(pobj->UID, __GO_CLIP_STATE__, jni_int, &piClipState);
 
-  if (tmp == NULL)
-  {
-    Scierror(999, _("'%s' property does not exist for this handle.\n"),"clip_box");
-    return -1;
-  }
+    if (piClipState == NULL)
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"),"clip_box");
+        return -1;
+    }
 
-  clipState = *tmp;
+    if (iClipState > 1)
+    {
+        /* clip state on */
 
-  if (clipState > 1)
-  {
-    /* clip state on */
+        getGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX__, jni_double_vector, &clipBox);
 
-    clipBox = (double*) getGraphicObjectProperty(pobj->UID, __GO_CLIP_BOX__, jni_double_vector);
+        if (clipBox == NULL)
+        {
+            Scierror(999, _("'%s' property does not exist for this handle.\n"),"clip_box");
+            return -1;
+        }
 
-    if (clipBox == NULL)
+        return sciReturnRowVector(clipBox, 4);
+    }
+    else if (iClipState == 0 || iClipState == 1)
     {
-      Scierror(999, _("'%s' property does not exist for this handle.\n"),"clip_box");
-      return -1;
+        /* clip state off or clipgrf */
+        return sciReturnEmptyMatrix();
+    }
+    else
+    {
+        Scierror(999, _("Wrong value for '%s' property.\n"),"clip_state");
+        return -1;
     }
-
-    return sciReturnRowVector(clipBox, 4);
-  }
-  else if (clipState == 0 || clipState == 1)
-  {
-    /* clip state off or clipgrf */
-    return sciReturnEmptyMatrix();
-  }
-  else
-  {
-    Scierror(999, _("Wrong value for '%s' property.\n"),"clip_state");
-    return -1;
-  }
 }
 /*------------------------------------------------------------------------*/
index 0b4c86a..0f2053c 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*------------------------------------------------------------------------*/
 int get_clip_state_property( sciPointObj * pobj )
 {
-    int* clipState;
+    int iClipState = 0;
+    int* piClipState = &iClipState;
 
-    clipState = (int*) getGraphicObjectProperty(pobj->UID, __GO_CLIP_STATE__, jni_int);
+    getGraphicObjectProperty(pobj->UID, __GO_CLIP_STATE__, jni_int, &piClipState);
 
-    if (clipState == NULL)
+    if (piClipState == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"clip_state");
         return -1;
     }
 
-    if (*clipState == 0)
+    if (iClipState == 0)
     {
         return sciReturnString("off");
     }
-    else if (*clipState == 1)
+    else if (iClipState == 1)
     {
         return sciReturnString("clipgrf");
     }
-    else if (*clipState == 2)
+    else if (iClipState == 2)
     {
         return sciReturnString("on");
     }
index caa66dc..4b58bda 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -31,7 +31,8 @@
 /*------------------------------------------------------------------------*/
 int get_closed_property( sciPointObj * pobj )
 {
-    int* closed;
+    int iClosed = 0;
+    int* piClosed = &iClosed;
 
 #if 0
     if(sciGetEntityType(pobj) != SCI_POLYLINE)
@@ -41,15 +42,15 @@ int get_closed_property( sciPointObj * pobj )
     }
 #endif
 
-    closed = (int*) getGraphicObjectProperty(pobj->UID, __GO_CLOSED__, jni_bool);
+    getGraphicObjectProperty(pobj->UID, __GO_CLOSED__, jni_bool, &piClosed);
 
-    if (closed == NULL)
+    if (piClosed == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"closed");
         return -1;
     }
 
-    if (*closed)
+    if (iClosed)
     {
         return sciReturnString( "on" );
     }
index ddb768e..eb14720 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -31,7 +31,8 @@
 /*------------------------------------------------------------------------*/
 int get_color_flag_property( sciPointObj * pobj )
 {
-    int* colorFlag;
+    int iColorFlag;
+    int* piColorFlag = &iColorFlag;
 
 #if 0
     if (sciGetEntityType (pobj) != SCI_SURFACE)
@@ -41,14 +42,14 @@ int get_color_flag_property( sciPointObj * pobj )
     }
 #endif
 
-    colorFlag = (int*) getGraphicObjectProperty(pobj->UID, __GO_COLOR_FLAG__, jni_int);
+    getGraphicObjectProperty(pobj->UID, __GO_COLOR_FLAG__, jni_int, &piColorFlag);
 
-    if (colorFlag == NULL)
+    if (piColorFlag == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"color_flag");
         return -1;
     }
 
-    return sciReturnDouble(*colorFlag);
+    return sciReturnDouble(iColorFlag);
 }
 /*------------------------------------------------------------------------*/
index d0b8665..7ddd2c5 100644 (file)
 /*--------------------------------------------------------------------------*/
 int get_color_map_property( sciPointObj * pobj )
 {
-    double * colorMap = (double*) getGraphicObjectProperty(pobj->UID, __GO_COLORMAP__, jni_double_vector);
-    int * cmapSize = (int*) getGraphicObjectProperty(pobj->UID, __GO_COLORMAP_SIZE__, jni_int);
-    if ( colorMap == NULL )
+    double *pdblColorMap;
+
+    int iCmapSize = 0;
+    int * piCmapSize = &iCmapSize;
+
+    getGraphicObjectProperty(pobj->UID, __GO_COLORMAP_SIZE__, jni_int, &piCmapSize);
+    getGraphicObjectProperty(pobj->UID, __GO_COLORMAP__, jni_double_vector, &pdblColorMap);
+    if ( pdblColorMap == NULL )
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"color_map");
         return -1;
     }
 
-    return sciReturnMatrix (colorMap, cmapSize[0], 3);
+    return sciReturnMatrix (pdblColorMap, iCmapSize, 3);
 }
 /*--------------------------------------------------------------------------*/
index d4965c8..3e86796 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -31,7 +31,8 @@
 /*------------------------------------------------------------------------*/
 int get_color_mode_property( sciPointObj * pobj )
 {
-    int* colorMode;
+    int iColorMode = 0;
+    int* piColorMode = &iColorMode;
 
 #if 0
     if ( sciGetEntityType (pobj) != SCI_SURFACE )
@@ -41,14 +42,14 @@ int get_color_mode_property( sciPointObj * pobj )
     }
 #endif
 
-    colorMode = (int*) getGraphicObjectProperty(pobj->UID, __GO_COLOR_MODE__, jni_int);
+    getGraphicObjectProperty(pobj->UID, __GO_COLOR_MODE__, jni_int, &piColorMode);
 
-    if (colorMode == NULL)
+    if (piColorMode == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"color_mode");
         return -1;
     }
 
-    return sciReturnDouble(*colorMode);
+    return sciReturnDouble(iColorMode);
 }
 /*------------------------------------------------------------------------*/
index 51e2695..b4154f8 100644 (file)
@@ -2,11 +2,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2009 - Digiteo - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -31,6 +31,7 @@
 int get_color_range_property( sciPointObj * pobj )
 {
     int* range;
+
 #if 0
     if (sciGetEntityType (pobj) != SCI_FEC)
     {
@@ -39,7 +40,7 @@ int get_color_range_property( sciPointObj * pobj )
     }
 #endif
 
-    range = (int*) getGraphicObjectProperty(pobj->UID, __GO_COLOR_RANGE__, jni_int_vector);
+    getGraphicObjectProperty(pobj->UID, __GO_COLOR_RANGE__, jni_int_vector, &range);
 
     if (range == NULL)
     {
index 530d06e..6b1bc53 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*------------------------------------------------------------------------*/
 int get_cube_scaling_property( sciPointObj * pobj )
 {
-  int* cubeScaling;
+    int iCubeScaling = 0;
+    int* piCubeScaling = &iCubeScaling;
 
 #if 0
-  if ( sciGetEntityType (pobj) != SCI_SUBWIN )
-  {
-    Scierror(999, _("'%s' property does not exist for this handle.\n"),"cube_scaling") ;
-    return -1 ;
-  }
+    if ( sciGetEntityType (pobj) != SCI_SUBWIN )
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"),"cube_scaling") ;
+        return -1 ;
+    }
 #endif
 
-  cubeScaling = (int*) getGraphicObjectProperty(pobj->UID, __GO_CUBE_SCALING__, jni_bool);
-
-  if (cubeScaling == NULL)
-  {
-    Scierror(999, _("'%s' property does not exist for this handle.\n"),"cube_scaling");
-    return -1 ;
-  }
-
-  if (*cubeScaling)
-  {
-    return sciReturnString( "on" );
-  }
-  else
-  {
-    return sciReturnString( "off" );
-  }
+    getGraphicObjectProperty(pobj->UID, __GO_CUBE_SCALING__, jni_bool, &piCubeScaling);
+
+    if (piCubeScaling == NULL)
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"),"cube_scaling");
+        return -1 ;
+    }
+
+    if (iCubeScaling)
+    {
+        return sciReturnString( "on" );
+    }
+    else
+    {
+        return sciReturnString( "off" );
+    }
 }
 /*------------------------------------------------------------------------*/
index b6cd4a1..976f1bd 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 int get_data_bounds_property( sciPointObj * pobj )
 {
     double* dataBounds;
-    int* view;
+    int iView = 0;
+    int* piView = &iView;
 
-    dataBounds = (double*) getGraphicObjectProperty(pobj->UID, __GO_DATA_BOUNDS__, jni_double_vector);
+    getGraphicObjectProperty(pobj->UID, __GO_DATA_BOUNDS__, jni_double_vector, &dataBounds);
 
     if (dataBounds == NULL)
     {
@@ -41,10 +42,10 @@ int get_data_bounds_property( sciPointObj * pobj )
         return -1;
     }
 
-    view = (int*) getGraphicObjectProperty(pobj->UID, __GO_VIEW__, jni_int);
+    getGraphicObjectProperty(pobj->UID, __GO_VIEW__, jni_int, &piView);
 
     /**DJ.Abdemouche 2003**/
-    if (*view == 1)
+    if (iView == 1)
     {
       return sciReturnMatrix( dataBounds, 2, 3 );
     }
index 621cfef..6d428fe 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -31,7 +31,8 @@
 /*------------------------------------------------------------------------*/
 int get_data_mapping_property( sciPointObj * pobj )
 {
-    int* dataMapping;
+    int iDataMapping = 0;
+    int* piDataMapping = &iDataMapping;
 
 #if 0
     if (sciGetEntityType (pobj) != SCI_GRAYPLOT)
@@ -41,19 +42,19 @@ int get_data_mapping_property( sciPointObj * pobj )
     }
 #endif
 
-    dataMapping = (int*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MAPPING__, jni_int);
+    getGraphicObjectProperty(pobj->UID, __GO_DATA_MAPPING__, jni_int, &piDataMapping);
 
-    if (dataMapping == NULL)
+    if (piDataMapping == NULL)
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"data_mapping");
         return -1;
     }
 
-    if (*dataMapping == 0)
+    if (iDataMapping == 0)
     {
         return sciReturnString("scaled");
     }
-    else if (*dataMapping == 1)
+    else if (iDataMapping == 1)
     {
         return sciReturnString("direct");
     }
index 86d9d35..896414c 100644 (file)
 int getgrayplotdata(sciPointObj *pobj)
 {
     char * variable_tlist[] = {"grayplotdata","x","y","z"};
-    int* tmp;
     int numX;
+    int *piNumX = &numX;
     int numY;
+    int *piNumY = &numY;
     double* dataX;
     double* dataY;
     double* dataZ;
@@ -54,14 +55,12 @@ int getgrayplotdata(sciPointObj *pobj)
         return -1;
     }
 
-    tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_X__, jni_int);
-    numX = *tmp;
-    tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_Y__, jni_int);
-    numY = *tmp;
+    getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_X__, jni_int, &piNumX);
+    getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_Y__, jni_int, &piNumY);
 
-    dataX = (double*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_X__, jni_double_vector);
-    dataY = (double*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_Y__, jni_double_vector);
-    dataZ = (double*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_Z__, jni_double_vector);
+    getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_X__, jni_double_vector, &dataX);
+    getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_Y__, jni_double_vector, &dataY);
+    getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_Z__, jni_double_vector, &dataZ);
 
     addColVectorToReturnedList(tList, dataX, numX);
     addColVectorToReturnedList(tList, dataY, numY);
@@ -112,19 +111,20 @@ int get3ddata(sciPointObj *pobj)
     double* dataX;
     double* dataY;
     double* dataZ;
-    int nbRow;
+    int nbRow = 0;
+    int *piNbRow = &nbRow;
     int nbCol;
-    int* tmp;
+    int *piNbCol = &nbCol;
 
     returnedList * tList = NULL;
 
-    type = (char*) getGraphicObjectProperty(pobj->UID, __GO_TYPE__, jni_string);
+    getGraphicObjectProperty(pobj->UID, __GO_TYPE__, jni_string, &type);
 
-    dataX = (double*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_X__, jni_double_vector);
-    dataY = (double*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_Y__, jni_double_vector);
-    dataZ = (double*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_Z__, jni_double_vector);
+    getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_X__, jni_double_vector, &dataX);
+    getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_Y__, jni_double_vector, &dataY);
+    getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_Z__, jni_double_vector, &dataZ);
 
-    colors = (double*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_COLORS__, jni_double_vector);
+    getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_COLORS__, jni_double_vector, &colors);
 
     if (colors != NULL)
     {
@@ -133,15 +133,13 @@ int get3ddata(sciPointObj *pobj)
 
         if (strcmp(type, __GO_FAC3D__) == 0)
         {
-            int numColors;
+            int numColors = 0;
+            int *piNumColors = &numColors;
 
-            tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int);
-            nbRow = *tmp;
-            tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_GONS__, jni_int);
-            nbCol = *tmp;
+            getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, &piNbRow);
+            getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_GONS__, jni_int, &piNbCol);
 
-            tmp = (int*)getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_COLORS__, jni_int);
-            numColors = *tmp;
+            getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_COLORS__, jni_int, &piNumColors);
 
             addMatrixToReturnedList(tList, dataX, nbRow, nbCol);
             addMatrixToReturnedList(tList, dataY, nbRow, nbCol);
@@ -187,10 +185,8 @@ int get3ddata(sciPointObj *pobj)
 
         if (strcmp(type, __GO_FAC3D__) == 0)
         {
-            tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int);
-            nbRow = *tmp;
-            tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_GONS__, jni_int);
-            nbCol = *tmp;
+            getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, &piNbRow);
+            getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_GONS__, jni_int, &piNbCol);
 
             addMatrixToReturnedList(tList, dataX, nbRow, nbCol);
             addMatrixToReturnedList(tList, dataY, nbRow, nbCol);
@@ -201,13 +197,11 @@ int get3ddata(sciPointObj *pobj)
             int* xDimensions;
             int* yDimensions;
 
-            tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_X__, jni_int);
-            nbRow = *tmp;
-            tmp = (int*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_Y__, jni_int);
-            nbCol = *tmp;
+            getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_X__, jni_int, &piNbRow);
+            getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_NUM_Y__, jni_int, &piNbCol);
 
-            xDimensions = (int*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_X_DIMENSIONS__, jni_int_vector);
-            yDimensions = (int*) getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_Y_DIMENSIONS__, jni_int_vector);
+            getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_X_DIMENSIONS__, jni_int_vector, &xDimensions);
+            getGraphicObjectProperty(pobj->UID, __GO_DATA_MODEL_Y_DIMENSIONS__, jni_int_vector, &yDimensions);
 
             addMatrixToReturnedList( tList, dataX, xDimensions[0], xDimensions[1]);
             addMatrixToReturnedList( tList, dataY, yDimensions[0], yDimensions[1]);
@@ -250,7 +244,7 @@ int get_data_property( sciPointObj * pobj )
 {
   char* type;
 
-  type = (char*) getGraphicObjectProperty(pobj->UID, __GO_TYPE__, jni_string);
+  getGraphicObjectProperty(pobj->UID, __GO_TYPE__, jni_string, &type);
 
   /*
    * 0 values put within the conditional expressions to prevent calling sciGetEntityType
index 1c44721..6de9999 100644 (file)
 /*------------------------------------------------------------------------*/
 int get_event_handler_enable_property( sciPointObj * pobj )
 {
-    int* eventHandlerEnable = (int *)getGraphicObjectProperty(pobj->UID, __GO_EVENTHANDLER_ENABLE__, jni_bool);
+    int iEventHandlerEnable = 0;
+    int *piEventHandlerEnable = &iEventHandlerEnable;
 
-    if ( eventHandlerEnable == NULL )
+    getGraphicObjectProperty(pobj->UID, __GO_EVENTHANDLER_ENABLE__, jni_bool, &piEventHandlerEnable);
+
+    if ( piEventHandlerEnable == NULL )
     {
         Scierror(999, _("'%s' property does not exist for this handle.\n"),"event_handler_enable") ;
         return -1 ;
     }
 
-    if (*eventHandlerEnable)
+    if (iEventHandlerEnable)
     {
         return sciReturnString( "on" ) ;
     }
index 8b21d2c..3c82c86 100644 (file)
@@ -33,7 +33,8 @@
 /*------------------------------------------------------------------------*/
 int get_event_handler_property( sciPointObj * pobj )
 {
-    char* eventHandler = (char*)getGraphicObjectProperty(pobj->UID, __GO_EVENTHANDLER_NAME__, jni_string);
+    char* eventHandler;
+    getGraphicObjectProperty(pobj->UID, __GO_EVENTHANDLER_NAME__, jni_string, &eventHandler);
 
     if ( eventHandler == NULL )
     {
index 6191a15..8fc6908 100644 (file)
 /*------------------------------------------------------------------------*/
 int get_figure_id_property( sciPointObj * pobj )
 {
-  int* figureId = (int*)getGraphicObjectProperty(pobj->UID, __GO_ID__, jni_int);;
+    int iFigureId = 0;
+    int *piFigureId = &iFigureId;
+    getGraphicObjectProperty(pobj->UID, __GO_ID__, jni_int, &piFigureId);
 
-  if ( figureId == NULL )
-  {
-      Scierror(999, _("'%s' property does not exist for this handle.\n"),"figure_id");
-      return -1;
-  }
+    if ( piFigureId == NULL )
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"),"figure_id");
+        return -1;
+    }
 
-  return sciReturnInt(*figureId);
+    return sciReturnInt(iFigureId);
 }
 /*------------------------------------------------------------------------*/
index 75f46e4..901eed7 100644 (file)
 /*------------------------------------------------------------------------*/
 int get_figure_name_property( sciPointObj * pobj )
 {
-  char* figureName = (char*)getGraphicObjectProperty(pobj->UID, __GO_NAME__, jni_string);
+    char* figureName;
+    getGraphicObjectProperty(pobj->UID, __GO_NAME__, jni_string, &figureName);
 
-  if ( figureName == NULL )
-  {
-    Scierror(999, _("'%s' property does not exist for this handle.\n"),"figure_name");
-    return -1;
-  }
+    if ( figureName == NULL )
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"),"figure_name");
+        return -1;
+    }
 
-  return sciReturnString(strdup(figureName));
+    return sciReturnString(strdup(figureName));
 }
 /*------------------------------------------------------------------------*/
index a0be106..957a559 100644 (file)
@@ -34,7 +34,8 @@
 int get_figure_position_property( sciPointObj * pobj )
 {
   double figurePos[2] ;
-  int* position = (int*)getGraphicObjectProperty(pobj->UID, __GO_POSITION__, jni_int_vector);
+  int* position;
+  getGraphicObjectProperty(pobj->UID, __GO_POSITION__, jni_int_vector, &position);
 
   if (position == NULL)
   {
index 50b268d..98d4263 100644 (file)
@@ -34,7 +34,8 @@
 int get_figure_size_property( sciPointObj * pobj )
 {
   double figureSize[2] ;
-  int* intSize = (int*)getGraphicObjectProperty(pobj->UID, __GO_SIZE__, jni_int_vector);
+  int* intSize;
+  getGraphicObjectProperty(pobj->UID, __GO_SIZE__, jni_int_vector, &intSize);
 
   if (intSize == NULL)
   {
index 3ddbf35..bd70eac 100644 (file)
@@ -4,11 +4,11 @@
  * Copyright (C) 2006 - INRIA - Allan Cornet
  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 /*------------------------------------------------------------------------*/
 int get_fill_mode_property( sciPointObj * pobj )
 {
-    int* fillMode;
+    int iFillMode = 0;
+    int* piFillMode = &iFillMode;
 
-    fillMode = (int*) getGraphicObjectProperty(pobj->UID,&nbs