view src/pounce.h @ 4849:adf9ca39578f

[gaim-migrate @ 5174] Christian, I got the following backtrace after opening and closing some convos: #4 <signal handler called> #5 0x08066e47 in gaim_window_get_active_conversation (win=0x82b44d8) at conversation.c:775 #6 0x08085599 in update_send_as_selection (win=0x82b44d8) at gtkconv.c:1964 #7 0x4067fa4c in g_timeout_dispatch () from /usr/lib/libglib-2.0.so.0 So although I couldn't reproduce it, I guess it's still possible for Gaim to crash there. This fixes that by making sure that win still exists before it tries to update the send as menu for it. The other way to fix this would be to keep track of the g_timer thingy and then remove it when destroying win. I don't know which was is better. Probably the other way. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Fri, 21 Mar 2003 20:59:31 +0000
parents 283fb289c510
children cb700c07ee07
line wrap: on
line source

/*
 * gaim
 *
 * Copyright (C) 1998-2003, Mark Spencer <markster@marko.net>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */

#ifndef _POUNCE_H_
#define _POUNCE_H_

struct buddy_pounce {
        char name[80];
        char message[2048];
        char command[2048];
        char sound[2048];
        
        char pouncer[80];
        int protocol;

        int options;
};

struct addbp {
	GtkWidget *window;
	GtkWidget *nameentry;
	GtkWidget *messentry;
	GtkWidget *commentry;
	GtkWidget *command;
	GtkWidget *sendim;
	GtkWidget *openwindow;
	GtkWidget *popupnotify;
	GtkWidget *p_signon;
	GtkWidget *p_unaway;
	GtkWidget *p_unidle;
	GtkWidget *p_typing;
	GtkWidget *save;
	GtkWidget *menu;
	GtkWidget *sound;
	GtkWidget *soundentry;

	struct gaim_account *account;
	struct buddy_pounce *buddy_pounce;
};

void rem_bp(GtkWidget *w, struct buddy_pounce *b);

void do_pounce(struct gaim_connection *gc, char *name, int when);

void do_bp_menu();

#endif /* _POUNCE_H_ */