This is the mail archive of the frysk@sources.redhat.com mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

frysk-gtk CVS broken


Hi,

frysk-gui seems completely broken at the moment. The Makefile seems to
miss something and the c sources do some strange int/pointer casting
which doesn't work (at least on 64 bit systems). Attached is a patch to
get things to compile again. Just fixes the makefile in a way that I
think is what was meant and storing pointers in longs to make sure there
is at least enough room. But I don't really know what this code is
supposed to do so I haven't really tested except to see that FryskGui
still seems to work.

Storing pointers in ints is not safe. There are some gtk+ type
conversion macros that might help. But they come with big warnings:
http://developer.gnome.org/doc/API/2.0/glib/glib-Type-Conversion-Macros.html

Could someone more familiar with this code take a look and make CVS
compile again?

Thanks,

Mark
Index: frysk-gtk/tlwidgets/Makefile.am
===================================================================
RCS file: /cvs/frysk/frysk-gtk/tlwidgets/Makefile.am,v
retrieving revision 1.17
diff -u -r1.17 Makefile.am
--- frysk-gtk/tlwidgets/Makefile.am	19 Jul 2006 18:31:43 -0000	1.17
+++ frysk-gtk/tlwidgets/Makefile.am	14 Aug 2006 11:05:55 -0000
@@ -107,8 +107,8 @@
          com/redhat/ftk/SimultaneousEvent.class \
          com/redhat/ftk/EventPair.class
 	$(JAR) cf ftk.jar -C . com/redhat/ftk/EventViewer.class \
-					  -C . com/redhat/ftk/SimultaneousEvent.class
-					  -C . com/redhat/ftk/EventPair.class
+			  -C . com/redhat/ftk/SimultaneousEvent.class \
+			  -C . com/redhat/ftk/EventPair.class
 
 #Stripchart.o: $(tlwidgetssrc)/java/com/redhat/ftk/Stripchart.java
 #	$(GCJ) -fjni -classpath $(FRYSK_GTK_CLASSPATH) -I ./src/java \
Index: frysk-gtk/tlwidgets/src/java/com/redhat/ftk/EventViewer.java
===================================================================
RCS file: /cvs/frysk/frysk-gtk/tlwidgets/src/java/com/redhat/ftk/EventViewer.java,v
retrieving revision 1.11
diff -u -r1.11 EventViewer.java
--- frysk-gtk/tlwidgets/src/java/com/redhat/ftk/EventViewer.java	11 Aug 2006 21:24:23 -0000	1.11
+++ frysk-gtk/tlwidgets/src/java/com/redhat/ftk/EventViewer.java	14 Aug 2006 11:05:55 -0000
@@ -126,7 +126,7 @@
     /*
      * Get selected traces
      */
-    public int[] getSelectedTraces() {
+    public long[] getSelectedTraces() {
       return ftk_eventviewer_get_selected_traces (getHandle());
     }
     /**
@@ -316,7 +316,7 @@
     native static final protected boolean
     ftk_eventviewer_delete_trace (Handle sc, int trace_idx);
     
-    native static final protected int[]
+    native static final protected long[]
     ftk_eventviewer_get_selected_traces (Handle sc);
                 
     native static final protected boolean
Index: frysk-gtk/tlwidgets/src/jni/com_redhat_ftk_EventViewer.c
===================================================================
RCS file: /cvs/frysk/frysk-gtk/tlwidgets/src/jni/com_redhat_ftk_EventViewer.c,v
retrieving revision 1.9
diff -u -r1.9 com_redhat_ftk_EventViewer.c
--- frysk-gtk/tlwidgets/src/jni/com_redhat_ftk_EventViewer.c	12 Aug 2006 05:06:24 -0000	1.9
+++ frysk-gtk/tlwidgets/src/jni/com_redhat_ftk_EventViewer.c	14 Aug 2006 11:05:55 -0000
@@ -253,7 +253,7 @@
  * Class:	com.redhat.ftk.EventViewer
  * Method:	ftk_eventviewer_get_selected_traces
  */
-JNIEXPORT jintArray JNICALL 
+JNIEXPORT jlongArray JNICALL 
 Java_com_redhat_ftk_EventViewer_ftk_1eventviewer_1get_1selected_1traces (JNIEnv *env, 
 									jclass cls, jobject sc) 
 {
@@ -262,14 +262,14 @@
 	
 	gint length = g_list_length(traces);
 	
-	jint ret[(int) length];
+	jlong ret[(int) length];
 	
-	for (int i = 0; i < length; i++) {
-		ret[i] =(int) g_list_nth(traces, (gint) i)->data;
+	for (gint i = 0; i < length; i++) {
+		ret[i] = (jlong) g_list_nth(traces, i)->data;
 	}
 	
-	jintArray array = (*env)->NewIntArray(env, (int) length);
-	(*env)->SetIntArrayRegion(env, array, 0, (int) length, ret);
+	jlongArray array = (*env)->NewLongArray(env, (int) length);
+	(*env)->SetLongArrayRegion(env, array, 0, (int) length, ret);
 	return array;
 }
 
Index: frysk-gtk/tlwidgets/src/widgets/ftkeventviewer.c
===================================================================
RCS file: /cvs/frysk/frysk-gtk/tlwidgets/src/widgets/ftkeventviewer.c,v
retrieving revision 1.32
diff -u -r1.32 ftkeventviewer.c
--- frysk-gtk/tlwidgets/src/widgets/ftkeventviewer.c	12 Aug 2006 05:06:24 -0000	1.32
+++ frysk-gtk/tlwidgets/src/widgets/ftkeventviewer.c	14 Aug 2006 11:05:56 -0000
@@ -3021,7 +3021,7 @@
  ftk_eventviewer_get_selected_traces (FtkEventViewer * eventviewer)
  {
  	GList * traces = NULL;
- 	for (gint traceID = 0; traceID < ftk_ev_trace_next(eventviewer); 
+ 	for (long traceID = 0; traceID < ftk_ev_trace_next(eventviewer); 
  	traceID++) 
  	{
  		FtkTrace *trace = ftk_ev_trace(eventviewer, traceID);
Index: frysk-gui/Makefile.am
===================================================================
RCS file: /cvs/frysk/frysk-gui/Makefile.am,v
retrieving revision 1.63
diff -u -r1.63 Makefile.am
--- frysk-gui/Makefile.am	8 Aug 2006 18:44:35 -0000	1.63
+++ frysk-gui/Makefile.am	14 Aug 2006 11:05:56 -0000
@@ -88,7 +88,7 @@
 # Well, for now skip the dogtail test suite, too:
 TESTS_ENVIRONMENT = ( test -n "$$DISPLAY" || sh -c "exit 77" ) &&
 
-TESTS += frysk/gui/test/dogtail_scripts/frysk_suite.sh
+#TESTS += frysk/gui/test/dogtail_scripts/frysk_suite.sh
 EXTRA_DIST += frysk/gui/test/dogtail_scripts/frysk_suite.in
 frysk/gui/test/dogtail_scripts/frysk_suite.sh: frysk/gui/test/dogtail_scripts/frysk_suite.in
 	$(SUBST)
Index: frysk-gui/frysk/gui/monitor/StatusWidget.java
===================================================================
RCS file: /cvs/frysk/frysk-gui/frysk/gui/monitor/StatusWidget.java,v
retrieving revision 1.49
diff -u -r1.49 StatusWidget.java
--- frysk-gui/frysk/gui/monitor/StatusWidget.java	11 Aug 2006 21:35:58 -0000	1.49
+++ frysk-gui/frysk/gui/monitor/StatusWidget.java	14 Aug 2006 11:05:56 -0000
@@ -179,11 +179,11 @@
             & event.getButtonPressed() == MouseEvent.BUTTON3)
           {
             System.out.println("Button Press, Third Button");
-            int traces[] = viewer.getSelectedTraces();
+            long traces[] = viewer.getSelectedTraces();
 
             if (traces != null)
               {
-                GuiData data = (GuiData) procMap.get(new Integer(traces[0]));
+                GuiData data = (GuiData) procMap.get(new Long(traces[0]));
                 if (data.getClass().equals(GuiTask.class))
                   {
                     ThreadMenu.getMenu().popup((GuiTask) data);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]