🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: nl.comp.programmeren
Article #710

GTK programma & parallelle poort -> segmentation fault

#710
From: Bart Vandewoestyne
Date: Mon, 22 Nov 1999 00:00
78 lines
3130 bytes
Volgende functie heb ik aangemaakt om gemakkelijk menuitems te kunnen
toevoegen aan mijn hoofdmenu:

GtkWidget *CreateMenuItem (GtkWidget *menu,
			   char *szName,
			   char *szAccel,
			   char *szTip,
			   GtkSignalFunc func,
			   gpointer data)
{
 GtkWidget *menuitem;
 
 /* --- If there's a name, create the item and put a
  *	signal handler on it.
  */
 if (szName && strlen (szName)) {
   menuitem = gtk_menu_item_new_with_label (szName);
   gtk_signal_connect (GTK_OBJECT (menuitem), "activate",
   		GTK_SIGNAL_FUNC(func), data);
 } else {
   /* --- Create a separator --- */
   menuitem = gtk_menu_item_new ();
 }
 
 /* --- Add menu item to the menu and show it. --- */
 gtk_menu_append (GTK_MENU (menu), menuitem);
 gtk_widget_show (menuitem);
  
 return (menuitem);
}

Ik maak dan een submenu aan via bijvoorbeeld:

menuitem = CreateMenuItem (menuMotorSub, "Turn Left Half Step", NULL,
 			"Turn Left Half Step",
			GTK_SIGNAL_FUNC (turn_left_half_step),
			(gpointer) portstatus);

waarbij portstatus gedefineerd is als:

int portstatus;

en de functie turn_left_half_step er als volgt uit ziet:

void turn_left_half_step(GtkWidget *widget, gpointer data)
{
 set_left_half_step(data);
 turn(data);
 unset_left_half_step(data);
}

En verder geldt nog:

void set_left_half_step(int *status)
{
 *status=*status+LEFT+HALF_STEP+ENABLE+RESET;
}


Bij het compileren levert dit me geen problemen op, echter bij het
uitvoeren van het progamma en het selekteren van deze menuitems krijg ik
een "segmentation fault".

Ik denk dat ik hier ergens verkeerd cast, maar kan iemand me zeggen hoe
ik her juist moet casten?

Alvast bedankt!
 
-- 
Bart Vandewoestyne		http://hello.to/MC303		
Hugo Verrieststraat 48		Bart.Vandewoestyne@skynet.be
8550 ZWEVEGEM			ICQ# 21275340
BELGIUM - EUROPE		nick: MC303
Phone: +32(0)56/75.48.11
-------------------------------------------------------------------
If carpenters made buildings the way programmers make programs, the 
first woodpecker to come along would destroy all of civilization.
				- Weinberg's Second Law -
Technical Details
Message-ID: <383885E6.AC1CA383@skynet.be>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: 100a19,ef82ca5dd635fd8,start
X-Google-Attributes: gid100a19,public
X-Google-Thread: fcea4,ef82ca5dd635fd8,start
X-Google-Attributes: gidfcea4,public
X-Google-Thread: 107324,ef82ca5dd635fd8,start
X-Google-Attributes: gid107324,public
X-Google-Thread: fb7d6,ef82ca5dd635fd8,start
X-Google-Attributes: gidfb7d6,public
From: Bart Vandewoestyne <Bart.Vandewoestyne@skynet.be>
Subject: GTK programma & parallelle poort -> segmentation fault
Date: 1999/11/22
Message-ID: <383885E6.AC1CA383@skynet.be>
X-Deja-AN: 551430002
Content-Transfer-Encoding: 7bit
X-Accept-Language: nl-BE, nl, en, de
Content-Type: text/plain; charset=us-ascii
X-Complaints-To: abuse@skynet.be
X-Trace: news1.skynet.be 943228453 28415 195.238.12.126 (21 Nov 1999 23:54:13 GMT)
Organization: MyHome
Mime-Version: 1.0
NNTP-Posting-Date: 21 Nov 1999 23:54:13 GMT
Newsgroups: nl.comp.programmeren,be.comp.os.linux,nl.comp.os.linux,be.comp.programming