Package: octaviz
Version: 0.4.0-10
Severity: normal
Tags: patch

When building 'octaviz' on amd64/unstable with gcc-4.0,
I get the following error:

make[4]: Entering directory `/octaviz-0.4.0/Common'
Building object file octaviz.o...
/octaviz-0.4.0/Common/octaviz.cc: In constructor 
'vtk_object::vtk_object(vtkObjectBase*, bool)':
/octaviz-0.4.0/Common/octaviz.cc:117: error: cast from 'vtkObjectBase*' to 
'unsigned int' loses precision
/octaviz-0.4.0/Common/octaviz.cc: In copy constructor 
'vtk_object::vtk_object(const vtk_object&)':
/octaviz-0.4.0/Common/octaviz.cc:152: error: cast from 'vtkObjectBase*' to 
'unsigned int' loses precision
/octaviz-0.4.0/Common/octaviz.cc: In destructor 'virtual 
vtk_object::~vtk_object()':
/octaviz-0.4.0/Common/octaviz.cc:165: error: cast from 'vtkObjectBase*' to 
'unsigned int' loses precision
/octaviz-0.4.0/Common/octaviz.cc: In member function 'virtual unsigned int 
vtk_object::uint_value(bool, bool) const':
/octaviz-0.4.0/Common/octaviz.cc:183: error: cast from 'vtkObjectBase*' to 
'unsigned int' loses precision
make[4]: *** [octaviz.o] Error 1
make[4]: Leaving directory `/octaviz-0.4.0/Common'

With the attached patch 'octaviz' can be compiled
on amd64 using gcc-4.0.

Regards
Andreas Jochens

diff -urN ../tmp-orig/octaviz-0.4.0/Common/octaviz.cc ./Common/octaviz.cc
--- ../tmp-orig/octaviz-0.4.0/Common/octaviz.cc 2004-10-24 04:09:13.000000000 
+0200
+++ ./Common/octaviz.cc 2005-04-02 07:47:15.000000000 +0200
@@ -114,7 +114,7 @@
        //std::cout << "Creating.\n" << std::flush;
        std::map<unsigned int, int>& reference_count = get_reference_map();
 
-       unsigned int key = reinterpret_cast<unsigned int>( pointer );
+       unsigned long key = reinterpret_cast<unsigned long>( pointer );
        
        if ( belongs_to_octave ) 
        {
@@ -149,7 +149,7 @@
        //std::cout << "Creating copy.\n" << std::flush;
        std::map<unsigned int, int>& reference_count = get_reference_map();
 
-       unsigned int key = reinterpret_cast<unsigned int>( vtk_pointer );
+       unsigned long key = reinterpret_cast<unsigned long>( vtk_pointer );
        
        // If this is a clone than it exists in reference count map
        if ( reference_count.find(key) == reference_count.end() ) return;
@@ -162,7 +162,7 @@
 { 
        //std::cout << "Destroying.\n" << std::flush;
        std::map<unsigned int, int>& reference_count = get_reference_map();
-       unsigned int key = reinterpret_cast<unsigned int>( vtk_pointer );
+       unsigned long key = reinterpret_cast<unsigned long>( vtk_pointer );
        // Check if the pointer is reference counted.
        if ( reference_count.find(key) == reference_count.end() ) return;
        
@@ -180,7 +180,7 @@
 
 unsigned int vtk_object::uint_value (bool req_int, bool frc_str_conv ) const
 {
-       return reinterpret_cast<unsigned int>(vtk_pointer);
+       return reinterpret_cast<unsigned long>(vtk_pointer);
 }
  
 bool vtk_object::is_defined (void) const 
diff -urN ../tmp-orig/octaviz-0.4.0/Common/vtkInitializeInteractor.cc 
./Common/vtkInitializeInteractor.cc
--- ../tmp-orig/octaviz-0.4.0/Common/vtkInitializeInteractor.cc 2004-10-24 
04:09:13.000000000 +0200
+++ ./Common/vtkInitializeInteractor.cc 2005-04-02 12:25:48.256947614 +0200
@@ -76,7 +76,7 @@
        vtkXOpenGLRenderWindow* RenderWindow = 
reinterpret_cast<vtkXOpenGLRenderWindow*>(CurrentInteractor->GetRenderWindow());
        Widget widg = CurrentInteractor->GetWidget();
        Atom wm_delete_window = XInternAtom(XtDisplay(widg), 
"WM_DELETE_WINDOW", False);
-       vtk_delete_window_atoms[wm_delete_window] = reinterpret_cast<unsigned 
int>(RenderWindow);
+       vtk_delete_window_atoms[wm_delete_window] = reinterpret_cast<unsigned 
long>(RenderWindow);
     // turn off default delete response
        XSetWMProtocols(XtDisplay(widg), XtWindow(widg), &wm_delete_window, 1);
   return retval;


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to