Package: mysql-query-browser
Version: 1.1.6-1
Severity: normal
Tags: patch

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

x86_64-linux-g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" 
-DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" 
-DPACKAGE=\"mysql-gui-common\" -DVERSION=\"0.5.1\" -DGTKMM_VERSION=20000  -I. 
-I. -DXTHREADS -I/usr/include/libxml2 -I/usr/include/libglade-2.0 
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include 
-I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DXTHREADS 
-I/usr/include/gtkmm-2.0 -I/usr/lib/gtkmm-2.0/include -I/usr/include/gtk-2.0 
-I/usr/lib/sigc++-1.2/include -I/usr/include/sigc++-1.2 -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include 
-I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/atk-1.0   
-I/usr/include/mysql -DBIG_JOINS=1 -I../../library/include 
-I../../library/shared_include -DDATADIRNAME=\""share"\" -DCOMMONDIRNAME=\"""\" 
   -g -O2 -c -o MGBlobEditor.o MGBlobEditor.cc
MGBlobEditor.cc: In member function 'virtual Gtk::TreePath 
MGBlobListStore::get_path_vfunc(const Gtk::TreeIter&)':
MGBlobEditor.cc:79: error: cast from 'void*' to 'int' loses precision
MGBlobEditor.cc: In member function 'virtual bool 
MGBlobListStore::iter_next_vfunc(GtkTreeIter*)':
MGBlobEditor.cc:89: error: cast from 'void*' to 'int' loses precision
MGBlobEditor.cc:91: error: cast from 'void*' to 'int' loses precision
MGBlobEditor.cc: In member function 'virtual void 
MGBlobListStore::get_value_vfunc(const Gtk::TreeIter&, int, GValue*)':
MGBlobEditor.cc:121: error: cast from 'void*' to 'unsigned int' loses precision
make[3]: *** [MGBlobEditor.o] Error 1
make[3]: Leaving directory 
`/mysql-query-browser-1.1.6/mysql-gui-common/source/linux'

With the attached patch 'mysql-query-browser' can be compiled
on amd64 using gcc-4.0.

Regards
Andreas Jochens

diff -urN 
../tmp-orig/mysql-query-browser-1.1.6/mysql-gui-common/source/linux/MGBlobEditor.cc
 ./mysql-gui-common/source/linux/MGBlobEditor.cc
--- 
../tmp-orig/mysql-query-browser-1.1.6/mysql-gui-common/source/linux/MGBlobEditor.cc
 2005-03-02 07:02:11.000000000 +0100
+++ ./mysql-gui-common/source/linux/MGBlobEditor.cc     2005-03-28 
19:20:22.298973952 +0200
@@ -76,7 +76,7 @@
 {
   Path path;
 
-  path.push_back((int)iter.gobj()->user_data);
+  path.push_back((long)iter.gobj()->user_data);
     
   return path;
 }
@@ -86,9 +86,9 @@
 {
   iter->stamp= 1234;
   
-  iter->user_data= (gpointer)((int)iter->user_data+1);
+  iter->user_data= (gpointer)((long)iter->user_data+1);
 
-  return (int)iter->user_data < iter_n_children_vfunc(iter);
+  return (long)iter->user_data < iter_n_children_vfunc(iter);
 }
 
 
@@ -118,7 +118,7 @@
 void MGBlobListStore::get_value_vfunc(const Gtk::TreeModel::iterator& iter, 
int column, GValue* value)
 {
   char buffer[_bytes_per_row * 4];
-  unsigned int line_num= (unsigned int)iter.gobj()->user_data;
+  unsigned int line_num= (unsigned long)iter.gobj()->user_data;
 
   g_value_init(value, G_TYPE_STRING);
 
diff -urN 
../tmp-orig/mysql-query-browser-1.1.6/mysql-query-browser/source/linux/MGResultSetModel.cc
 ./mysql-query-browser/source/linux/MGResultSetModel.cc
--- 
../tmp-orig/mysql-query-browser-1.1.6/mysql-query-browser/source/linux/MGResultSetModel.cc
  2005-03-02 07:02:27.000000000 +0100
+++ ./mysql-query-browser/source/linux/MGResultSetModel.cc      2005-03-28 
19:24:59.403018367 +0200
@@ -90,12 +90,12 @@
   {
     iter->stamp= _stamp;
 
-    iter->user_data= (gpointer)((int)iter->user_data+1);
+    iter->user_data= (gpointer)((long)iter->user_data+1);
 
 //    if ((unsigned)iter->user_data > _resultset->rows_num)
 //      g_message("QEWQWE!!!");
 
-    return (int)iter->user_data < (int)_resultset->rows_num+_new_rows ? true : 
false;
+    return (long)iter->user_data < (long)_resultset->rows_num+_new_rows ? true 
: false;
   }
   iter->stamp= 0;
   return false;
@@ -171,7 +171,7 @@
   {
     Path path;
 
-    path.push_back((int)iter.gobj()->user_data);
+    path.push_back((long)iter.gobj()->user_data);
     
     return path;
   }
@@ -214,7 +214,7 @@
 
   if (_disable_checks || treeiter_valid(iter))
   {
-    int r= (int)iter->user_data;
+    int r= (long)iter->user_data;
 
     if (column < (int)_resultset->columns_num*2)
     {
@@ -230,7 +230,7 @@
             return true;
           }
           
-          if ((unsigned int)iter->user_data < _resultset->rows_num)
+          if ((unsigned long)iter->user_data < _resultset->rows_num)
           {
             MYX_RS_ROW *row= _resultset->rows + r;
             
@@ -315,7 +315,7 @@
 
   if (_disable_checks || treeiter_valid(iter))
   {
-    int r= (int)iter->user_data;
+    int r= (long)iter->user_data;
     
     // from 0 to 2*_resultset->columns_num, the columns correspond
     // to the content (text or blob ptr) and color of the resultset,
@@ -414,7 +414,7 @@
   switch ((column%2))
   {
   case 0:
-    add_change((unsigned int)row.gobj()->user_data, column/2, value, 
value_length);
+    add_change((unsigned long)row.gobj()->user_data, column/2, value, 
value_length);
     break;
   case 1:
     // color, ignore
@@ -481,7 +481,7 @@
 
 MYX_RS_ROW *MGResultSetModel::get_iter_row(const Gtk::TreeModel::iterator 
&iter)
 {
-  return _resultset->rows + (int)iter.gobj()->user_data;
+  return _resultset->rows + (long)iter.gobj()->user_data;
 }
 
 
@@ -659,7 +659,7 @@
 
 void MGResultSetModel::erase(const Gtk::TreeModel::iterator &iter)
 {
-  unsigned int row= (unsigned int)iter.gobj()->user_data;
+  unsigned int row= (unsigned long)iter.gobj()->user_data;
   MYX_RS_ACTION *action;
   int index;
 
@@ -675,7 +675,7 @@
 
 void MGResultSetModel::undo(const Gtk::TreeModel::iterator &iter)
 {
-  int row= (int)iter.gobj()->user_data;
+  int row= (long)iter.gobj()->user_data;
 
   if (_actions.find(row)==_actions.end())
   {
@@ -718,7 +718,7 @@
 
 bool MGResultSetModel::row_undoable(const Gtk::TreeModel::iterator &iter)
 {
-  int row= (int)iter.gobj()->user_data;
+  int row= (long)iter.gobj()->user_data;
   if (_actions.find(row)==_actions.end())
     return false;
   return true;


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

Reply via email to