Mercurial > pidgin.yaz
view pidgin/plugins/cap/Makefile.mingw @ 31652:258fec7797b9
Attempt to fix a crash I've seen a few times. I think it happens if you
have a conversation window open with a MySpace buddy, then your MySpace
account goes offline. We apparently call the prpl's status_text prpl
function to get the status text for the buddy, but the connection is
offline. I don't know if that's something we SHOULD do or not... but
other prpl's seem to handle this, at least.
1. Use buddy->account instead of buddy->account->gc->proto_data->account,
since the former should always exist and later doesn't exist if the
account is offline. This was leading to a null pointer dereference.
2. Pass FALSE to msim_get_user_from_buddy() so that it will stop creating
an MsimUser struct if one doesn't exist. Creating it didn't accomplish
anything, and I feel like it might never get freed if the account is
already offline.
3. Put the checks for user->headline and user->display_name in a big
if condition, so we won't try to grab that info if user is NULL
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 14 Feb 2011 01:01:37 +0000 |
parents | 926b94050ba7 |
children |
line wrap: on
line source
# # Makefile.mingw # # Description: Makefile for cap plugin. # PIDGIN_TREE_TOP := ../../.. include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak TARGET = cap # This is where sqlite3.[ch] from the sqlite "amalgamation" archive were extracted to # This is available from http://www.sqlite.org/download.html SQLITE_TOP ?= $(WIN32_DEV_TOP)/sqlite-3.4.1 ## ## INCLUDE PATHS ## INCLUDE_PATHS += -I. \ -I$(SQLITE_TOP) \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/gtk-2.0 \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/include/pango-1.0 \ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/include/cairo \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ -I$(PURPLE_TOP) \ -I$(PURPLE_TOP)/win32 \ -I$(PIDGIN_TOP) \ -I$(PIDGIN_TOP)/win32 \ -I$(PIDGIN_TREE_TOP) LIB_PATHS += -L$(GTK_TOP)/lib \ -L$(PURPLE_TOP) \ -L$(PIDGIN_TOP) ## ## SOURCES, OBJECTS ## C_SRC = cap.c \ $(SQLITE_TOP)/sqlite3.c OBJECTS = $(C_SRC:%.c=%.o) ## ## LIBRARIES ## LIBS = -lgtk-win32-2.0 \ -lglib-2.0 \ -lgdk-win32-2.0 \ -lgobject-2.0 \ -lintl \ -lpurple \ -lpidgin include $(PIDGIN_COMMON_RULES) ## ## TARGET DEFINITIONS ## .PHONY: all install clean all: $(TARGET).dll install: $(PIDGIN_INSTALL_PLUGINS_DIR) all cp $(TARGET).dll $(PIDGIN_INSTALL_PLUGINS_DIR) $(OBJECTS): $(PIDGIN_CONFIG_H) $(TARGET).dll: $(PURPLE_DLL).a $(PIDGIN_DLL).a $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll ## ## CLEAN RULES ## clean: rm -rf $(OBJECTS) rm -rf $(TARGET).dll include $(PIDGIN_COMMON_TARGETS)