This is the mail archive of the
frysk@sources.redhat.com
mailing list for the frysk project.
frysk-gtk CVS broken
- From: Mark Wielaard <mark at klomp dot org>
- To: frysk at sources dot redhat dot com
- Date: Mon, 14 Aug 2006 13:06:42 +0200
- Subject: 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);