Mercurial > pidgin.yaz
view src/mediastreamer/jackcard.h @ 12618:204bd8fac61f
[gaim-migrate @ 14954]
SF Patch #1355796 from Sadrul
This fixes the custom smiley bug where your text gets smilies from the other party in the conversation.
This is a bit of a hack, but it fix things until such time as the smiley tree stuff can be reworked.
" From the kwiki:
If someone uses an MSN smiley, it shows up when I type
the textual representation of it. For example, someone
set a smiley (a rainbow flashy question mark) for ? and
it showed up (on my side, I have no idea about theirs)
for every ? I typed. /luke as I understand this report,
the problem is that the custom smiley should be
restricted to exactly one conversation but is in fact
spanning the account/
* (sadrul) It appears what happens is, the custom
smiley is added to the smiley-tree for that
conversation-imhtml. So whenever any new message is
going to be added to the imhtml, it looks up the
smiley-tree first, and since the "?" (or anything else)
matches the smiley, it converts it to the smiley. At
first glance, it seems the fix would be non-trivial. It
will probably be necessary to distinguish between
custom-smileys (and also messages added to the imhtml)
of the sender and the receiver.
==== end ====
What this patch does is, it temporarily replaces the
smiley-tree for the conversation-imhtml with the
smiley-tree of the conversation-entrybox. I think this
will work because the smiley-trees of both these
imhtml-s are initially the same. When a custom smiley
is received, it is added the smiley-tree of the
conversation-imhtml. So temporarily restoring the
smiley-tree with the original smiley-tree (that in
conv-entrybox) should fix the problem."
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Thu, 22 Dec 2005 04:07:21 +0000 |
parents | e67993da8a22 |
children |
line wrap: on
line source
/* The mediastreamer library aims at providing modular media processing and I/O for linphone, but also for any telephony application. Copyright (C) 2001 Simon MORLAT simon.morlat@linphone.org This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA JACK support Copyright (C) 2004 Tobias Gehrig tobias@gehrig.tk */ #ifndef JACK_CARD_H #define JACK_CARD_H #include <config.h> #ifdef __JACK_ENABLED__ #include "sndcard.h" #include <jack/jack.h> #include <jack/ringbuffer.h> #include <samplerate.h> typedef jack_default_audio_sample_t sample_t; typedef struct { jack_port_t *port; const char **phys_ports; float level; jack_ringbuffer_t *buffer; gint channels; gint rate; SRC_STATE* src_state; SRC_DATA data; size_t frames; gboolean can_process; gboolean open; gboolean init; } jackcard_mode_t; struct _JackCard { SndCard parent; jack_client_t *client; gboolean jack_running; gboolean jack_active; float level; jack_nframes_t buffer_size; gint sample_size; gint frame_size; gint rate; gboolean can_process; gboolean clear; jackcard_mode_t read, write; }; typedef struct _JackCard JackCard; SndCard * jack_card_new(jack_client_t *client); gint jack_card_manager_init(SndCardManager *m, gint index); #endif #endif