gaim/www

update tags
default tip
2019-09-10, convert-repo
7d915c997ccd
update tags
Index: configure.in
===================================================================
RCS file: /cvsroot/gaim/gaim/configure.in,v
retrieving revision 1.95
diff -u -r1.95 configure.in
--- configure.in 2001/05/31 01:07:12 1.95
+++ configure.in 2001/06/06 23:32:31
@@ -43,9 +43,9 @@
AM_CONDITIONAL(DISTRIB, test "x$enable_distrib" = "xyes")
AC_ARG_ENABLE(multi, [ --disable-multi disable multiple connections],,enable_multi=yes)
AC_ARG_ENABLE(prpls, [ --disable-prpls don't build protocol plugins],,enable_prpls=yes)
-AC_ARG_ENABLE(gnome, [ --disable-gnome compile without Gnome bits],,enable_gnome=yes)
-AC_ARG_ENABLE(pixbuf, [ --disable-pixbuf compile without GdkPixbuf (needed for Buddy Icons)],,enable_pixbuf=yes)
-AC_ARG_ENABLE(panel, [ --enable-panel compile as a GNOME applet],,enable_panel=$enable_distrib)
+dnl AC_ARG_ENABLE(gnome, [ --disable-gnome compile without Gnome bits],,enable_gnome=yes)
+dnl AC_ARG_ENABLE(pixbuf, [ --disable-pixbuf compile without GdkPixbuf (needed for Buddy Icons)],,enable_pixbuf=yes)
+dnl AC_ARG_ENABLE(panel, [ --enable-panel compile as a GNOME applet],,enable_panel=$enable_distrib)
AM_CONDITIONAL(GNOMEAPPLET, test "x$enable_panel" = "xyes")
AC_ARG_ENABLE(esd, [ --disable-esd Turn off ESD (default=auto)],,enable_esd=yes)
AC_ARG_ENABLE(nas, [ --enable-nas Enable NAS (Network Audio System) support],,enable_nas=no)
@@ -60,72 +60,72 @@
AC_DEFINE(DEBUG)
fi
-if test "x$enable_gnome" = "xyes" ; then
- if test "x$enable_panel" = "xyes" ; then
- GNOME_INIT(applets)
- GNOME_X_CHECKS
- CFLAGS="$CFLAGS $GNOME_INCLUDEDIR"
- AC_DEFINE(USE_APPLET)
- AC_DEFINE(USE_GNOME)
- LIBS="$LIBS $GTK_LIBS $GNOME_LIBDIR $GNOME_APPLETS_LIBS $GNOMEUI_LIBS"
- AC_PATH_PROG(gaimpath, gaim_applet)
- else
- AC_PATH_PROG(gnomepath, gnome-config)
- AC_MSG_CHECKING(for Gnome compile flags)
- GNOME_CFLAGS=`$gnomepath gnomeui --cflags 2>/dev/null`
- if test "x$GNOME_CFLAGS" = "x" ; then
- enable_gnome=no
- AC_MSG_RESULT([Gnome not found, building without it.])
- else
- GNOME_VER=`$gnomepath --version |$sedpath 's/gnome-libs //' 2>/dev/null`
- GNOME_MAJOR=`echo $GNOME_VER |$sedpath 's/\([[0-9]*]*\).\([[0-9]*]*\).\([[0-9]*]*\)/\1/' 2>/dev/null`
- if test "x$GNOME_MAJOR" = "x0" ; then
- enable_gnome = no
- AC_MSG_RESULT([old Gnome found, building without it.])
- else
- AC_MSG_RESULT(ok)
- CFLAGS="$CFLAGS $GNOME_CFLAGS"
- LIBS="$LIBS `$gnomepath gnomeui --libs 2>/dev/null`"
- AC_DEFINE(USE_GNOME)
- GNOME_CONFIG="$gnomepath"
- AC_SUBST(GNOME_CONFIG)
- AC_PATH_PROG(gaimpath, gaim)
- fi
- fi
- fi
-fi
+dnl if test "x$enable_gnome" = "xyes" ; then
+dnl if test "x$enable_panel" = "xyes" ; then
+dnl GNOME_INIT(applets)
+dnl GNOME_X_CHECKS
+dnl CFLAGS="$CFLAGS $GNOME_INCLUDEDIR"
+dnl AC_DEFINE(USE_APPLET)
+dnl AC_DEFINE(USE_GNOME)
+dnl LIBS="$LIBS $GTK_LIBS $GNOME_LIBDIR $GNOME_APPLETS_LIBS $GNOMEUI_LIBS"
+dnl AC_PATH_PROG(gaimpath, gaim_applet)
+dnl else
+dnl AC_PATH_PROG(gnomepath, gnome-config)
+dnl AC_MSG_CHECKING(for Gnome compile flags)
+dnl GNOME_CFLAGS=`$gnomepath gnomeui --cflags 2>/dev/null`
+dnl if test "x$GNOME_CFLAGS" = "x" ; then
+dnl enable_gnome=no
+dnl AC_MSG_RESULT([Gnome not found, building without it.])
+dnl else
+dnl GNOME_VER=`$gnomepath --version |$sedpath 's/gnome-libs //' 2>/dev/null`
+dnl GNOME_MAJOR=`echo $GNOME_VER |$sedpath 's/\([[0-9]*]*\).\([[0-9]*]*\).\([[0-9]*]*\)/\1/' 2>/dev/null`
+dnl if test "x$GNOME_MAJOR" = "x0" ; then
+dnl enable_gnome = no
+dnl AC_MSG_RESULT([old Gnome found, building without it.])
+dnl else
+dnl AC_MSG_RESULT(ok)
+dnl CFLAGS="$CFLAGS $GNOME_CFLAGS"
+dnl LIBS="$LIBS `$gnomepath gnomeui --libs 2>/dev/null`"
+dnl AC_DEFINE(USE_GNOME)
+dnl GNOME_CONFIG="$gnomepath"
+dnl AC_SUBST(GNOME_CONFIG)
+dnl AC_PATH_PROG(gaimpath, gaim)
+dnl fi
+dnl fi
+dnl fi
+dnl fi
-if test "x$enable_gnome" != "xyes" ; then
- AM_PATH_GLIB(1.2.0,,AC_MSG_ERROR([
+dnl if test "x$enable_gnome" != "xyes" ; then
+ AM_PATH_GLIB_2_0(1.2.3,,AC_MSG_ERROR([
*** GLib is required to build Gaim; please make sure you have the GLib
*** development headers installed. The latest version of GLib is
*** always available at http://www.gtk.org/.]))
- AM_PATH_GTK(1.2.0,,AC_MSG_ERROR([
+ AM_PATH_GTK_2_0(1.2.3,,AC_MSG_ERROR([
*** GTK+ is required to build Gaim; please make sure you have the GTK+
*** development headers installed. The latest version of GTK+ is
*** always available at http://www.gtk.org/.]),gthread)
LIBS="$LIBS $GTK_LIBS"
AC_PATH_PROG(gaimpath, gaim)
-fi
-CFLAGS="$CFLAGS $GTK_CFLAGS"
+dnl fi
+CFLAGS="$CFLAGS $GTK_CFLAGS -DGTK_ENABLE_BROKEN"
-use_pixbuf=no
-if test "x$enable_pixbuf" = "xyes" ; then
- AC_PATH_PROG(pixbufcfg, gdk-pixbuf-config)
- if test "x$pixbufcfg" != "x" ; then
- GDK_PIXBUF_CFLAGS=`$pixbufcfg --cflags`
- GDK_PIXBUF_LIBS=`$pixbufcfg --libs`
- GDK_PIXBUF_CONFIG="$pixbufcfg"
- AC_SUBST(GDK_PIXBUF_CONFIG)
- AC_SUBST(GDK_PIXBUF_CFLAGS)
- AC_SUBST(GDK_PIXBUF_LIBS)
- CFLAGS="$CFLAGS $GDK_PIXBUF_CFLAGS"
- LIBS="$LIBS $GDK_PIXBUF_LIBS"
- dnl We should be doing checks to see that the header files and functions exist. eh.
- AC_DEFINE(USE_PIXBUF)
- use_pixbuf=yes
- fi
-fi
+dnl use_pixbuf=no
+dnl if test "x$enable_pixbuf" = "xyes" ; then
+dnl AC_PATH_PROG(pixbufcfg, gdk-pixbuf-config)
+dnl if test "x$pixbufcfg" != "x" ; then
+dnl GDK_PIXBUF_CFLAGS=`$pixbufcfg --cflags`
+dnl GDK_PIXBUF_LIBS=`$pixbufcfg --libs`
+dnl GDK_PIXBUF_CONFIG="$pixbufcfg"
+dnl AC_SUBST(GDK_PIXBUF_CONFIG)
+dnl AC_SUBST(GDK_PIXBUF_CFLAGS)
+dnl AC_SUBST(GDK_PIXBUF_LIBS)
+dnl CFLAGS="$CFLAGS $GDK_PIXBUF_CFLAGS"
+dnl LIBS="$LIBS $GDK_PIXBUF_LIBS"
+dnl dnl We should be doing checks to see that the header files and functions exist. eh.
+dnl AC_DEFINE(USE_PIXBUF)
+dnl use_pixbuf=yes
+dnl fi
+dnl fi
dnl Check for XScreenSaver
if test "x$enable_xss" = "xyes" ; then
@@ -299,11 +299,11 @@
echo
echo Allow Multiple Connections. : $enable_multi
echo Build Protocol Plugins..... : $enable_prpls
-echo
-echo Build with GNOME bits...... : $enable_gnome
-echo Use GdkPixbuf for Icons.... : $use_pixbuf
-echo Build as GNOME applet...... : $enable_panel
echo
+dnl echo Build with GNOME bits...... : $enable_gnome
+dnl echo Use GdkPixbuf for Icons.... : $use_pixbuf
+dnl echo Build as GNOME applet...... : $enable_panel
+dnl echo
echo Build with Plugin support.. : $enable_plugins
echo Build with Perl support.... : $enable_perl
echo
Index: src/browser.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/browser.c,v
retrieving revision 1.10
diff -u -r1.10 browser.c
--- src/browser.c 2001/06/01 23:17:09 1.10
+++ src/browser.c 2001/06/06 23:32:32
@@ -486,7 +486,7 @@
mozilla_remote_init_atoms();
window = mozilla_remote_find_window();
- if (window && (((GdkWindowPrivate *) window)->destroyed == FALSE)) {
+ if (window && (((GdkWindowObject *) window)->destroyed == FALSE)) {
XSelectInput(gdk_display, GDK_WINDOW_XWINDOW(window),
(PropertyChangeMask | StructureNotifyMask));
@@ -526,7 +526,7 @@
mozilla_remote_init_atoms();
window = mozilla_remote_find_window();
- if (window && (((GdkWindowPrivate *) window)->destroyed == FALSE)) {
+ if (window && (((GdkWindowObject *) window)->destroyed == FALSE)) {
XSelectInput(gdk_display, GDK_WINDOW_XWINDOW(window),
(PropertyChangeMask | StructureNotifyMask));
Index: src/conversation.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/conversation.c,v
retrieving revision 1.226
diff -u -r1.226 conversation.c
--- src/conversation.c 2001/05/29 23:51:15 1.226
+++ src/conversation.c 2001/06/06 23:32:34
@@ -31,6 +31,7 @@
#include <stdlib.h>
#include <ctype.h>
#include <gtk/gtk.h>
+#include <gtk/gtkeditable.h>
#include "gtkimhtml.h"
#include <gdk/gdkkeysyms.h>
#include "convo.h"
@@ -748,7 +749,7 @@
gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
}
- return TRUE;
+ return FALSE;
}
@@ -884,7 +885,7 @@
int entry_key_pressed(GtkWidget *w, GtkWidget *entry)
{
check_everything(w);
- return TRUE;
+ return FALSE;
}
/*------------------------------------------------------------------------*/
@@ -1537,7 +1538,7 @@
GtkWidget *win;
GtkWidget *entry;
- toolbar = gtk_toolbar_new(GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS);
+ toolbar = gtk_toolbar_new();
win = c->window;
entry = c->entry;
Index: src/dialogs.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v
retrieving revision 1.234
diff -u -r1.234 dialogs.c
--- src/dialogs.c 2001/05/25 23:07:22 1.234
+++ src/dialogs.c 2001/06/06 23:32:35
@@ -3321,10 +3321,10 @@
vbox = gtk_vbox_new(TRUE, 5);
bbox = gtk_hbox_new(FALSE, 5);
- smiley_box_1 = gtk_toolbar_new(GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS);
- smiley_box_2 = gtk_toolbar_new(GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS);
- smiley_box_3 = gtk_toolbar_new(GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS);
- smiley_box_4 = gtk_toolbar_new(GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS);
+ smiley_box_1 = gtk_toolbar_new();
+ smiley_box_2 = gtk_toolbar_new();
+ smiley_box_3 = gtk_toolbar_new();
+ smiley_box_4 = gtk_toolbar_new();
/* setup buttons */
Index: src/gaim.h
===================================================================
RCS file: /cvsroot/gaim/gaim/src/gaim.h,v
retrieving revision 1.230
diff -u -r1.230 gaim.h
--- src/gaim.h 2001/06/01 23:56:52 1.230
+++ src/gaim.h 2001/06/06 23:32:36
@@ -27,6 +27,13 @@
#endif
#include <gtk/gtk.h>
+#ifndef GTK_WINDOW_DIALOG
+#define GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
+#endif
+#ifdef GTK_EDITABLE
+#undef GTK_EDITABLE
+#define GTK_EDITABLE GTK_OLD_EDITABLE
+#endif
#include <time.h>
#include <stdio.h>
#ifdef USE_APPLET
Index: src/gtkimhtml.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/gtkimhtml.c,v
retrieving revision 1.32
diff -u -r1.32 gtkimhtml.c
--- src/gtkimhtml.c 2001/06/05 17:47:39 1.32
+++ src/gtkimhtml.c 2001/06/06 23:32:37
@@ -1416,18 +1416,18 @@
signals [URL_CLICKED] =
gtk_signal_new ("url_clicked",
GTK_RUN_FIRST,
- object_class->type,
+ GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkIMHtmlClass, url_clicked),
gtk_marshal_NONE__POINTER,
GTK_TYPE_NONE, 1,
GTK_TYPE_POINTER);
- gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL);
+ /*gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL);*/
object_class->destroy = gtk_imhtml_destroy;
widget_class->realize = gtk_imhtml_realize;
- widget_class->draw = gtk_imhtml_draw;
+ /*widget_class->draw = gtk_imhtml_draw;*/
widget_class->style_set = gtk_imhtml_style_set;
widget_class->expose_event = gtk_imhtml_expose_event;
widget_class->size_allocate = gtk_imhtml_size_allocate;
Index: src/gtkticker.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/gtkticker.c,v
retrieving revision 1.2
diff -u -r1.2 gtkticker.c
--- src/gtkticker.c 2000/11/21 01:00:45 1.2
+++ src/gtkticker.c 2001/06/06 23:32:37
@@ -94,7 +94,7 @@
widget_class->realize = gtk_ticker_realize;
widget_class->size_request = gtk_ticker_size_request;
widget_class->size_allocate = gtk_ticker_size_allocate;
- widget_class->draw = gtk_ticker_draw;
+ /*widget_class->draw = gtk_ticker_draw;*/
widget_class->expose_event = gtk_ticker_expose;
container_class->add = gtk_ticker_add_real;
Index: src/oscar.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/oscar.c,v
retrieving revision 1.214
diff -u -r1.214 oscar.c
--- src/oscar.c 2001/06/04 20:13:34 1.214
+++ src/oscar.c 2001/06/06 23:32:39
@@ -43,10 +43,8 @@
#include "aim.h"
#include "proxy.h"
-#if USE_PIXBUF
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf/gdk-pixbuf-loader.h>
-#endif
/*#include "pixmaps/cancel.xpm"*/
#include "pixmaps/admin_icon.xpm"
@@ -62,9 +60,7 @@
#define AIMHASHDATA "http://gaim.sourceforge.net/aim_data.php3"
static int gaim_caps = AIM_CAPS_CHAT |
-#if USE_PIXBUF
AIM_CAPS_BUDDYICON |
-#endif
AIM_CAPS_GETFILE |
AIM_CAPS_IMIMAGE;
@@ -143,21 +139,15 @@
long size;
};
-#if USE_PIXBUF
struct icon_req {
char *user;
time_t timestamp;
unsigned long length;
gpointer data;
gboolean request;
- GdkPixbufAnimation *anim;
- GdkPixbuf *unanim;
struct conversation *cnv;
- GtkWidget *pix;
- int curframe;
- int timer;
+ GtkWidget *img;
};
-#endif
static struct direct_im *find_direct_im(struct oscar_data *od, char *who) {
GSList *d = od->direct_ims;
@@ -523,24 +513,16 @@
odata->direct_ims = g_slist_remove(odata->direct_ims, n);
g_free(n);
}
-#if USE_PIXBUF
while (odata->hasicons) {
struct icon_req *n = odata->hasicons->data;
- if (n->anim)
- gdk_pixbuf_animation_unref(n->anim);
- if (n->unanim)
- gdk_pixbuf_unref(n->unanim);
- if (n->timer)
- gtk_timeout_remove(n->timer);
if (n->cnv)
- gtk_container_remove(GTK_CONTAINER(n->cnv->bbox), n->pix);
+ gtk_container_remove(GTK_CONTAINER(n->cnv->bbox), n->img);
g_free(n->user);
if (n->data)
g_free(n->data);
odata->hasicons = g_slist_remove(odata->hasicons, n);
g_free(n);
}
-#endif
if (gc->inpa > 0)
gdk_input_remove(gc->inpa);
if (odata->cnpa > 0)
@@ -1597,63 +1579,6 @@
}
*/
-#if USE_PIXBUF
-static gboolean redraw_anim(gpointer data)
-{
- int delay;
- struct icon_req *ir = data;
- GList *frames;
- GdkPixbufFrame *frame;
- GdkPixbuf *buf;
- GdkPixmap *pm; GdkBitmap *bm;
- GdkPixmap *src;
- GdkGC *gc;
-
- if (!ir->cnv || !g_list_find(conversations, ir->cnv)) {
- debug_printf("I think this is a bug.\n");
- return FALSE;
- }
-
- frames = gdk_pixbuf_animation_get_frames(ir->anim);
- frame = g_list_nth_data(frames, ir->curframe);
- buf = gdk_pixbuf_frame_get_pixbuf(frame);
- switch (gdk_pixbuf_frame_get_action(frame)) {
- case GDK_PIXBUF_FRAME_RETAIN:
- gdk_pixbuf_render_pixmap_and_mask(buf, &src, NULL, 0);
- gtk_pixmap_get(GTK_PIXMAP(ir->pix), &pm, &bm);
- gc = gdk_gc_new(pm);
- gdk_draw_pixmap(pm, gc, src, 0, 0,
- gdk_pixbuf_frame_get_x_offset(frame),
- gdk_pixbuf_frame_get_y_offset(frame),
- -1, -1);
- gdk_pixmap_unref(src);
- gtk_widget_queue_draw(ir->pix);
- gdk_gc_unref(gc);
- break;
- case GDK_PIXBUF_FRAME_DISPOSE:
- gdk_pixbuf_render_pixmap_and_mask(buf, &pm, &bm, 0);
- gtk_pixmap_set(GTK_PIXMAP(ir->pix), pm, bm);
- gdk_pixmap_unref(pm);
- if (bm)
- gdk_bitmap_unref(bm);
- break;
- case GDK_PIXBUF_FRAME_REVERT:
- frame = frames->data;
- buf = gdk_pixbuf_frame_get_pixbuf(frame);
- gdk_pixbuf_render_pixmap_and_mask(buf, &pm, &bm, 0);
- gtk_pixmap_set(GTK_PIXMAP(ir->pix), pm, bm);
- gdk_pixmap_unref(pm);
- if (bm)
- gdk_bitmap_unref(bm);
- break;
- }
- ir->curframe = (ir->curframe + 1) % g_list_length(frames);
- delay = gdk_pixbuf_frame_get_delay_time(frame);
- ir->timer = gtk_timeout_add(delay * 10, redraw_anim, ir);
- return FALSE;
-}
-#endif
-
int gaim_parse_incoming_im(struct aim_session_t *sess,
struct command_rx_struct *command, ...) {
int channel;
@@ -1673,7 +1598,6 @@
args = va_arg(ap, struct aim_incomingim_ch1_args *);
va_end(ap);
-#if USE_PIXBUF
if (args->icbmflags & AIM_IMFLAGS_HASICON) {
struct oscar_data *od = gc->proto_data;
struct icon_req *ir;
@@ -1695,7 +1619,6 @@
ir->request = TRUE;
ir->timestamp = args->iconstamp;
}
-#endif
g_snprintf(tmp, BUF_LONG, "%s", args->msg);
serv_got_im(gc, userinfo->sn, tmp, args->icbmflags & AIM_IMFLAGS_AWAY, time(NULL));
@@ -1735,7 +1658,6 @@
*/
} else if (args->reqclass & AIM_CAPS_VOICE) {
} else if (args->reqclass & AIM_CAPS_BUDDYICON) {
-#if USE_PIXBUF
struct oscar_data *od = gc->proto_data;
GSList *h = od->hasicons;
struct icon_req *ir = NULL;
@@ -1743,10 +1665,8 @@
struct conversation *c;
GdkPixbufLoader *load;
- GList *frames;
- GdkPixbuf *buf;
- GdkPixmap *pm;
- GdkBitmap *bm;
+ GdkPixbufAnimation *anim;
+ GdkPixbuf *unanim;
who = normalize(userinfo->sn);
@@ -1763,21 +1683,12 @@
return 1;
}
- if (ir->pix && ir->cnv)
- gtk_container_remove(GTK_CONTAINER(ir->cnv->bbox), ir->pix);
- ir->pix = NULL;
+ if (ir->img && ir->cnv)
+ gtk_container_remove(GTK_CONTAINER(ir->cnv->bbox), ir->img);
+ ir->img = NULL;
ir->cnv = NULL;
if (ir->data)
g_free(ir->data);
- if (ir->anim)
- gdk_pixbuf_animation_unref(ir->anim);
- ir->anim = NULL;
- if (ir->unanim)
- gdk_pixbuf_unref(ir->unanim);
- ir->unanim = NULL;
- if (ir->timer)
- gtk_timeout_remove(ir->timer);
- ir->timer = 0;
ir->cnv = c;
ir->length = args->info.icon.length;
@@ -1788,41 +1699,26 @@
ir->data = g_memdup(args->info.icon.icon, args->info.icon.length);
load = gdk_pixbuf_loader_new();
- gdk_pixbuf_loader_write(load, ir->data, ir->length);
- ir->anim = gdk_pixbuf_loader_get_animation(load);
+ gdk_pixbuf_loader_write(load, ir->data, ir->length, NULL);
+ anim = gdk_pixbuf_loader_get_animation(load);
- if (ir->anim) {
- frames = gdk_pixbuf_animation_get_frames(ir->anim);
- buf = gdk_pixbuf_frame_get_pixbuf(frames->data);
- gdk_pixbuf_render_pixmap_and_mask(buf, &pm, &bm, 0);
-
- if (gdk_pixbuf_animation_get_num_frames(ir->anim) > 1) {
- int delay = gdk_pixbuf_frame_get_delay_time(frames->data);
- ir->curframe = 1;
- ir->timer = gtk_timeout_add(delay * 10, redraw_anim, ir);
- }
+ if (anim) {
+ ir->img = gtk_image_new_from_animation(anim);
+ gdk_pixbuf_animation_unref(anim);
} else {
- ir->unanim = gdk_pixbuf_loader_get_pixbuf(load);
- if (!ir->unanim) {
- gdk_pixbuf_loader_close(load);
+ unanim = gdk_pixbuf_loader_get_pixbuf(load);
+ if (!unanim) {
+ gdk_pixbuf_loader_close(load, NULL);
return 1;
}
- gdk_pixbuf_render_pixmap_and_mask(ir->unanim, &pm, &bm, 0);
+ ir->img = gtk_image_new_from_animation(anim);
+ gdk_pixbuf_unref(unanim);
}
- ir->pix = gtk_pixmap_new(pm, bm);
- gtk_box_pack_start(GTK_BOX(c->bbox), ir->pix, FALSE, FALSE, 5);
- if (ir->anim && (gdk_pixbuf_animation_get_num_frames(ir->anim) > 1))
- gtk_widget_set_usize(ir->pix, gdk_pixbuf_animation_get_width(ir->anim),
- gdk_pixbuf_animation_get_height(ir->anim));
- gtk_widget_show(ir->pix);
- gdk_pixmap_unref(pm);
- if (bm)
- gdk_bitmap_unref(bm);
+ gtk_box_pack_start(GTK_BOX(c->bbox), ir->img, FALSE, FALSE, 5);
+ gtk_widget_show(ir->img);
- gdk_pixbuf_loader_close(load);
-
-#endif
+ gdk_pixbuf_loader_close(load, NULL);
} else if (args->reqclass & AIM_CAPS_IMIMAGE) {
struct ask_direct *d = g_new0(struct ask_direct, 1);
char buf[256];
@@ -2473,7 +2369,6 @@
aim_send_im(odata->sess, odata->conn, name, AIM_IMFLAGS_AWAY, message);
else {
int flags = AIM_IMFLAGS_ACK;
-#if USE_PIXBUF
GSList *h = odata->hasicons;
struct icon_req *ir;
char *who = normalize(name);
@@ -2488,7 +2383,6 @@
flags |= AIM_IMFLAGS_BUDDYREQ;
debug_printf("sending buddy icon request with message\n");
}
-#endif
aim_send_im(odata->sess, odata->conn, name, flags, message);
}
}
@@ -2581,7 +2475,7 @@
if (!name) {
if (!join_chat_entry || !join_chat_spin)
return;
- name = gtk_entry_get_text(GTK_ENTRY(join_chat_entry));
+ name = (char *)gtk_entry_get_text(GTK_ENTRY(join_chat_entry));
exchange = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(join_chat_spin));
if (!name || !strlen(name))
return;
@@ -2932,14 +2826,14 @@
gtk_signal_connect(GTK_OBJECT(button), "activate",
GTK_SIGNAL_FUNC(oscar_info), who);
gtk_object_set_user_data(GTK_OBJECT(button), gc);
- gtk_menu_append(GTK_MENU(menu), button);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu), button);
gtk_widget_show(button);
button = gtk_menu_item_new_with_label(_("Get Away Msg"));
gtk_signal_connect(GTK_OBJECT(button), "activate",
GTK_SIGNAL_FUNC(oscar_away_msg), who);
gtk_object_set_user_data(GTK_OBJECT(button), gc);
- gtk_menu_append(GTK_MENU(menu), button);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu), button);
gtk_widget_show(button);
if (strcmp(n, normalize(who))) {
@@ -2947,7 +2841,7 @@
gtk_signal_connect(GTK_OBJECT(button), "activate",
GTK_SIGNAL_FUNC(oscar_ask_direct_im), who);
gtk_object_set_user_data(GTK_OBJECT(button), gc);
- gtk_menu_append(GTK_MENU(menu), button);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu), button);
gtk_widget_show(button);
}
g_free(n);
@@ -3161,17 +3055,14 @@
static void oscar_insert_convo(struct gaim_connection *gc, struct conversation *c)
{
-#if USE_PIXBUF
struct oscar_data *od = gc->proto_data;
GSList *h = od->hasicons;
struct icon_req *ir = NULL;
char *who = normalize(c->name);
GdkPixbufLoader *load;
- GList *frames;
- GdkPixbuf *buf;
- GdkPixmap *pm;
- GdkBitmap *bm;
+ GdkPixbufAnimation *anim;
+ GdkPixbuf *unanim;
while (h) {
ir = h->data;
@@ -3185,45 +3076,30 @@
ir->cnv = c;
load = gdk_pixbuf_loader_new();
- gdk_pixbuf_loader_write(load, ir->data, ir->length);
- ir->anim = gdk_pixbuf_loader_get_animation(load);
+ gdk_pixbuf_loader_write(load, ir->data, ir->length, NULL);
+ anim = gdk_pixbuf_loader_get_animation(load);
- if (ir->anim) {
- frames = gdk_pixbuf_animation_get_frames(ir->anim);
- buf = gdk_pixbuf_frame_get_pixbuf(frames->data);
- gdk_pixbuf_render_pixmap_and_mask(buf, &pm, &bm, 0);
-
- if (gdk_pixbuf_animation_get_num_frames(ir->anim) > 1) {
- int delay = gdk_pixbuf_frame_get_delay_time(frames->data);
- ir->curframe = 1;
- ir->timer = gtk_timeout_add(delay * 10, redraw_anim, ir);
- }
+ if (anim) {
+ ir->img = gtk_image_new_from_animation(anim);
+ gdk_pixbuf_animation_unref(anim);
} else {
- ir->unanim = gdk_pixbuf_loader_get_pixbuf(load);
- if (!ir->unanim) {
- gdk_pixbuf_loader_close(load);
+ unanim = gdk_pixbuf_loader_get_pixbuf(load);
+ if (!unanim) {
+ gdk_pixbuf_loader_close(load, NULL);
return;
}
- gdk_pixbuf_render_pixmap_and_mask(ir->unanim, &pm, &bm, 0);
+ ir->img = gtk_image_new_from_pixbuf(unanim);
+ gdk_pixbuf_unref(unanim);
}
- ir->pix = gtk_pixmap_new(pm, bm);
- gtk_box_pack_start(GTK_BOX(c->bbox), ir->pix, FALSE, FALSE, 5);
- if (ir->anim && (gdk_pixbuf_animation_get_num_frames(ir->anim) > 1))
- gtk_widget_set_usize(ir->pix, gdk_pixbuf_animation_get_width(ir->anim),
- gdk_pixbuf_animation_get_height(ir->anim));
- gtk_widget_show(ir->pix);
- gdk_pixmap_unref(pm);
- if (bm)
- gdk_bitmap_unref(bm);
+ gtk_box_pack_start(GTK_BOX(c->bbox), ir->img, FALSE, FALSE, 5);
+ gtk_widget_show(ir->img);
- gdk_pixbuf_loader_close(load);
-#endif
+ gdk_pixbuf_loader_close(load, NULL);
}
static void oscar_remove_convo(struct gaim_connection *gc, struct conversation *c)
{
-#if USE_PIXBUF
struct oscar_data *od = gc->proto_data;
GSList *h = od->hasicons;
struct icon_req *ir = NULL;
@@ -3238,24 +3114,9 @@
if (!h || !ir->data)
return;
- gtk_container_remove(GTK_CONTAINER(ir->cnv->bbox), ir->pix);
- ir->pix = NULL;
+ gtk_container_remove(GTK_CONTAINER(ir->cnv->bbox), ir->img);
+ ir->img = NULL;
ir->cnv = NULL;
-
- if (ir->anim) {
- gdk_pixbuf_animation_unref(ir->anim);
- ir->anim = NULL;
- } else if (ir->unanim) {
- gdk_pixbuf_unref(ir->unanim);
- ir->unanim = NULL;
- }
-
- ir->curframe = 0;
-
- if (ir->timer)
- gtk_timeout_remove(ir->timer);
- ir->timer = 0;
-#endif
}
void oscar_init(struct prpl *ret) {