Commit 7852adff authored by Emmanuel Lepage's avatar Emmanuel Lepage
Browse files
parents 6ddf5306 4c0d55c5
...@@ -180,16 +180,7 @@ DBUS_CPP_REQUIRED_VERSION=0.6.0-pre1 ...@@ -180,16 +180,7 @@ DBUS_CPP_REQUIRED_VERSION=0.6.0-pre1
PKG_CHECK_MODULES(DBUSCPP, dbus-c++-1,, PKG_CHECK_MODULES(DBUSCPP, dbus-c++-1,,
AC_MSG_ERROR([You need the DBus-c++ libraries (version $DBUS_CPP_REQUIRED_VERSION or better)])) AC_MSG_ERROR([You need the DBus-c++ libraries (version $DBUS_CPP_REQUIRED_VERSION or better)]))
AC_ARG_WITH(debug, CXXFLAGS="${CXXFLAGS} -g -Wno-return-type -Wall -Wextra -Wnon-virtual-dtor"
AS_HELP_STRING(
[--with-debug],
[Set to enable debugging information @<:@default=no@:>@]
),
[CXXFLAGS="-g -O0"],
[CXXFLAGS="-O2"]
)
CXXFLAGS="${CXXFLAGS} -Wno-return-type -Wall -Wextra -Wnon-virtual-dtor"
AC_CHECK_LIB([expat], XML_ParserCreate_MM, AC_CHECK_LIB([expat], XML_ParserCreate_MM,
[AC_CHECK_HEADERS(expat.h, have_expat=true, have_expat=false)], [AC_CHECK_HEADERS(expat.h, have_expat=true, have_expat=false)],
......
...@@ -93,7 +93,7 @@ AudioStream::~AudioStream() ...@@ -93,7 +93,7 @@ AudioStream::~AudioStream()
} }
void void
AudioStream::stream_state_callback (pa_stream* s, void* user_data) AudioStream::stream_state_callback (pa_stream* s, void* user_data UNUSED)
{ {
char str[PA_SAMPLE_SPEC_SNPRINT_MAX]; char str[PA_SAMPLE_SPEC_SNPRINT_MAX];
......
...@@ -172,18 +172,10 @@ WaveFile::WaveFile (const std::string& fileName, unsigned int audioSamplingRate) ...@@ -172,18 +172,10 @@ WaveFile::WaveFile (const std::string& fileName, unsigned int audioSamplingRate)
fileStream.read ( (char*) &blockal, 2); fileStream.read ( (char*) &blockal, 2);
// Determine the data type // Determine the data type
SOUND_FORMAT dataType;
SINT16 dt; SINT16 dt;
fileStream.read ( (char*) &dt, 2); fileStream.read ( (char*) &dt, 2);
if (dt == 8) if (dt != 8 && dt != 16 && dt != 32)
dataType = 1; // SINT8;
else if (dt == 16)
dataType = 2; // SINT16;
else if (dt == 32)
dataType = 3; // SINT32;
else {
throw AudioFileException("File's bits per sample with is not supported"); throw AudioFileException("File's bits per sample with is not supported");
}
// Find the "data" chunk // Find the "data" chunk
char data[4] = { 0, 0, 0, 0 }; char data[4] = { 0, 0, 0, 0 };
......
...@@ -42,6 +42,11 @@ ...@@ -42,6 +42,11 @@
#pragma GCC diagnostic warning "-Wignored-qualifiers" #pragma GCC diagnostic warning "-Wignored-qualifiers"
#pragma GCC diagnostic warning "-Wunused-parameter" #pragma GCC diagnostic warning "-Wunused-parameter"
#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
/* This warning option only exists for gcc 4.6.0 and greater. */
#pragma GCC diagnostic warning "-Wunused-but-set-variable"
#endif
#include <dbus-c++/dbus.h> #include <dbus-c++/dbus.h>
#include <stdexcept> #include <stdexcept>
......
...@@ -44,6 +44,10 @@ ...@@ -44,6 +44,10 @@
#pragma GCC diagnostic warning "-Wignored-qualifiers" #pragma GCC diagnostic warning "-Wignored-qualifiers"
#pragma GCC diagnostic warning "-Wunused-parameter" #pragma GCC diagnostic warning "-Wunused-parameter"
#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
#pragma GCC diagnostic warning "-Wunused-but-set-variable"
#endif
#include <dbus-c++/dbus.h> #include <dbus-c++/dbus.h>
class ConfigurationManager class ConfigurationManager
......
...@@ -34,6 +34,8 @@ ...@@ -34,6 +34,8 @@
#pragma GCC diagnostic ignored "-Wignored-qualifiers" #pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wunused-parameter" #pragma GCC diagnostic ignored "-Wunused-parameter"
#include <dbus-c++/dbus.h> #include <dbus-c++/dbus.h>
#pragma GCC diagnostic warning "-Wignored-qualifiers"
#pragma GCC diagnostic warning "-Wunused-parameter"
class ConfigurationManager; class ConfigurationManager;
class CallManager; class CallManager;
class NetworkManager; class NetworkManager;
......
...@@ -40,6 +40,10 @@ ...@@ -40,6 +40,10 @@
#include "instance-glue.h" #include "instance-glue.h"
#pragma GCC diagnostic warning "-Wignored-qualifiers" #pragma GCC diagnostic warning "-Wignored-qualifiers"
#pragma GCC diagnostic warning "-Wunused-parameter" #pragma GCC diagnostic warning "-Wunused-parameter"
#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
#pragma GCC diagnostic warning "-Wunused-but-set-variable"
#endif
#include <dbus-c++/dbus.h> #include <dbus-c++/dbus.h>
......
...@@ -1101,9 +1101,6 @@ void ManagerImpl::detachParticipant (const std::string& call_id, ...@@ -1101,9 +1101,6 @@ void ManagerImpl::detachParticipant (const std::string& call_id,
return; return;
} }
// TODO: add conference_id as a second parameter
ConferenceMap::iterator iter = _conferencemap.find(call->getConfId());
Conference *conf = getConferenceFromCallID(call_id); Conference *conf = getConferenceFromCallID(call_id);
if (conf == NULL) { if (conf == NULL) {
_error ("Manager: Error: Call is not conferencing, cannot detach"); _error ("Manager: Error: Call is not conferencing, cannot detach");
......
...@@ -337,9 +337,6 @@ int Sdp::createLocalSession (const CodecOrder &selectedCodecs) ...@@ -337,9 +337,6 @@ int Sdp::createLocalSession (const CodecOrder &selectedCodecs)
int Sdp::createOffer (const CodecOrder &selectedCodecs) int Sdp::createOffer (const CodecOrder &selectedCodecs)
{ {
pj_status_t status; pj_status_t status;
pjmedia_sdp_neg_state state;
_info ("SDP: Create initial offer");
// Build the SDP session descriptor // Build the SDP session descriptor
status = createLocalSession (selectedCodecs); status = createLocalSession (selectedCodecs);
...@@ -355,8 +352,6 @@ int Sdp::createOffer (const CodecOrder &selectedCodecs) ...@@ -355,8 +352,6 @@ int Sdp::createOffer (const CodecOrder &selectedCodecs)
return status; return status;
} }
state = pjmedia_sdp_neg_get_state (negotiator_);
PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1); PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1);
return PJ_SUCCESS; return PJ_SUCCESS;
......
...@@ -384,10 +384,6 @@ sflphone_hang_up() ...@@ -384,10 +384,6 @@ sflphone_hang_up()
selectedCall->_state = CALL_STATE_DIALING; selectedCall->_state = CALL_STATE_DIALING;
time (&selectedCall->_time_stop); time (&selectedCall->_time_stop);
//if ( (im_window_get_nb_tabs() > 1) && selectedCall->_im_widget &&
// ! (IM_WIDGET (selectedCall->_im_widget)->containText))
// im_window_remove_tab (selectedCall->_im_widget);
//else
im_widget_update_state (IM_WIDGET (selectedCall->_im_widget), FALSE); im_widget_update_state (IM_WIDGET (selectedCall->_im_widget), FALSE);
break; break;
...@@ -436,7 +432,8 @@ sflphone_pick_up() ...@@ -436,7 +432,8 @@ sflphone_pick_up()
// if instant messaging window is visible, create new tab (deleted automatically if not used) // if instant messaging window is visible, create new tab (deleted automatically if not used)
if (im_window_is_visible()) if (im_window_is_visible())
im_widget_display ( (IMWidget **) (&selectedCall->_im_widget), NULL, selectedCall->_callID, NULL); if (!selectedCall->_im_widget)
selectedCall->_im_widget = im_widget_display(selectedCall->_callID);
break; break;
case CALL_STATE_INCOMING: case CALL_STATE_INCOMING:
...@@ -444,9 +441,9 @@ sflphone_pick_up() ...@@ -444,9 +441,9 @@ sflphone_pick_up()
calltree_update_call (history, selectedCall, NULL); calltree_update_call (history, selectedCall, NULL);
// if instant messaging window is visible, create new tab (deleted automatically if not used) // if instant messaging window is visible, create new tab (deleted automatically if not used)
if (selectedCall->_im_widget && im_window_is_visible()) { if (im_window_is_visible())
im_widget_display ( (IMWidget **) (&selectedCall->_im_widget), NULL, selectedCall->_callID, NULL); if (!selectedCall->_im_widget)
} selectedCall->_im_widget = im_widget_display(selectedCall->_callID);
dbus_accept (selectedCall); dbus_accept (selectedCall);
break; break;
...@@ -896,9 +893,7 @@ sflphone_detach_participant (const gchar* callID) ...@@ -896,9 +893,7 @@ sflphone_detach_participant (const gchar* callID)
g_free (selectedCall->_confID); g_free (selectedCall->_confID);
selectedCall->_confID = NULL; selectedCall->_confID = NULL;
} }
// Instant messaging widget should have been deactivated during the conference im_widget_update_state (IM_WIDGET (selectedCall->_im_widget), TRUE);
if (selectedCall->_im_widget)
im_widget_update_state (IM_WIDGET (selectedCall->_im_widget), TRUE);
calltree_remove_call (current_calls, selectedCall, NULL); calltree_remove_call (current_calls, selectedCall, NULL);
calltree_add_call (current_calls, selectedCall, NULL); calltree_add_call (current_calls, selectedCall, NULL);
dbus_detach_participant (selectedCall->_callID); dbus_detach_participant (selectedCall->_callID);
......
...@@ -122,17 +122,15 @@ voice_mail_cb (DBusGProxy *proxy UNUSED, const gchar* accountID, const guint nb, ...@@ -122,17 +122,15 @@ voice_mail_cb (DBusGProxy *proxy UNUSED, const gchar* accountID, const guint nb,
static void static void
incoming_message_cb (DBusGProxy *proxy UNUSED, const gchar* callID UNUSED, const gchar *from, const gchar* msg, void * foo UNUSED) incoming_message_cb (DBusGProxy *proxy UNUSED, const gchar* callID UNUSED, const gchar *from, const gchar* msg, void * foo UNUSED)
{ {
DEBUG ("DBUS: Message \"%s\" from %s!", msg, from);
// do not display message if instant messaging is disabled // do not display message if instant messaging is disabled
if (eel_gconf_key_exists (INSTANT_MESSAGING_ENABLED) && !eel_gconf_get_integer (INSTANT_MESSAGING_ENABLED)) if (eel_gconf_key_exists (INSTANT_MESSAGING_ENABLED) && !eel_gconf_get_integer (INSTANT_MESSAGING_ENABLED))
return; return;
IMWidget **widget; GtkWidget **widget;
gchar *id; gchar *id;
callable_obj_t *call = calllist_get_call (current_calls, callID); callable_obj_t *call = calllist_get_call (current_calls, callID);
if (call) { if (call) {
widget = (IMWidget **) &call->_im_widget; widget = &call->_im_widget;
id = call->_callID; id = call->_callID;
} else { } else {
conference_obj_t *conf = conferencelist_get (current_calls, callID); conference_obj_t *conf = conferencelist_get (current_calls, callID);
...@@ -140,12 +138,14 @@ incoming_message_cb (DBusGProxy *proxy UNUSED, const gchar* callID UNUSED, const ...@@ -140,12 +138,14 @@ incoming_message_cb (DBusGProxy *proxy UNUSED, const gchar* callID UNUSED, const
ERROR ("Message received, but no recipient found"); ERROR ("Message received, but no recipient found");
return; return;
} }
widget = (IMWidget **) &conf->_im_widget; widget = &conf->_im_widget;
id = conf->_confID; id = conf->_confID;
} }
if (im_widget_display (widget, msg, id, from)) if (!*widget)
im_widget_add_message (*widget, from, msg, 0); *widget = im_widget_display(id);
im_widget_add_message (IM_WIDGET(*widget), from, msg, 0);
} }
static void static void
...@@ -211,7 +211,7 @@ static void toggle_im(conference_obj_t *conf, gboolean activate) ...@@ -211,7 +211,7 @@ static void toggle_im(conference_obj_t *conf, gboolean activate)
{ {
for (GSList *part = conf->participant_list; part; part = g_slist_next (part)) { for (GSList *part = conf->participant_list; part; part = g_slist_next (part)) {
callable_obj_t *call = calllist_get_call (current_calls, part->data); callable_obj_t *call = calllist_get_call (current_calls, part->data);
if (call && call->_im_widget) if (call)
im_widget_update_state (IM_WIDGET (call->_im_widget), activate); im_widget_update_state (IM_WIDGET (call->_im_widget), activate);
} }
} }
...@@ -282,9 +282,7 @@ conference_created_cb (DBusGProxy *proxy UNUSED, const gchar* confID, void * foo ...@@ -282,9 +282,7 @@ conference_created_cb (DBusGProxy *proxy UNUSED, const gchar* confID, void * foo
// set when this call have been added to the conference // set when this call have been added to the conference
time(&call->_time_added); time(&call->_time_added);
// if a text widget is already created, disable it, use conference widget instead im_widget_update_state (IM_WIDGET (call->_im_widget), FALSE);
if (call->_im_widget)
im_widget_update_state (IM_WIDGET (call->_im_widget), FALSE);
// if one of these participant is currently recording, the whole conference will be recorded // if one of these participant is currently recording, the whole conference will be recorded
if(call->_state == CALL_STATE_RECORD) if(call->_state == CALL_STATE_RECORD)
...@@ -312,9 +310,7 @@ conference_removed_cb (DBusGProxy *proxy UNUSED, const gchar* confID, void * foo ...@@ -312,9 +310,7 @@ conference_removed_cb (DBusGProxy *proxy UNUSED, const gchar* confID, void * foo
conference_obj_t * c = conferencelist_get (current_calls, confID); conference_obj_t * c = conferencelist_get (current_calls, confID);
calltree_remove_conference (current_calls, c, NULL); calltree_remove_conference (current_calls, c, NULL);
// deactivate instant messaging window for this conference im_widget_update_state (IM_WIDGET (c->_im_widget), FALSE);
if (c->_im_widget)
im_widget_update_state (IM_WIDGET (c->_im_widget), FALSE);
// remove all participant for this conference // remove all participant for this conference
for (GSList *p = c->participant_list; p; p = conference_next_participant (p)) { for (GSList *p = c->participant_list; p; p = conference_next_participant (p)) {
...@@ -324,9 +320,7 @@ conference_removed_cb (DBusGProxy *proxy UNUSED, const gchar* confID, void * foo ...@@ -324,9 +320,7 @@ conference_removed_cb (DBusGProxy *proxy UNUSED, const gchar* confID, void * foo
g_free (call->_confID); g_free (call->_confID);
call->_confID = NULL; call->_confID = NULL;
// if an instant messaging was previously disabled, enabled it im_widget_update_state(IM_WIDGET (call->_im_widget), TRUE);
if (call->_im_widget)
im_widget_update_state (IM_WIDGET (call->_im_widget), TRUE);
} }
} }
......
...@@ -83,15 +83,11 @@ on_delete (GtkWidget * widget UNUSED, gpointer data UNUSED) ...@@ -83,15 +83,11 @@ on_delete (GtkWidget * widget UNUSED, gpointer data UNUSED)
static void static void
on_switch_page (GtkNotebook *notebook, GtkNotebookPage *page UNUSED, guint page_num, gpointer userdata UNUSED) on_switch_page (GtkNotebook *notebook, GtkNotebookPage *page UNUSED, guint page_num, gpointer userdata UNUSED)
{ {
guint index = gtk_notebook_get_current_page (GTK_NOTEBOOK (notebook));
GtkWidget *tab = gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), page_num); GtkWidget *tab = gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), page_num);
// show the current widget // show the current widget
gtk_widget_grab_focus (tab); gtk_widget_grab_focus (tab);
gtk_widget_show_now (tab); gtk_widget_show_now (tab);
DEBUG ("InstantMessaging: switch to %i - current = %i\n", page_num, index);
} }
static void static void
...@@ -141,6 +137,7 @@ im_window_init() ...@@ -141,6 +137,7 @@ im_window_init()
// Restore position according to the configuration stored in gconf // Restore position according to the configuration stored in gconf
gtk_window_move (GTK_WINDOW (im_window), position_x, position_y); gtk_window_move (GTK_WINDOW (im_window), position_x, position_y);
gtk_widget_set_visible(im_window, FALSE);
} }
gboolean gboolean
...@@ -155,28 +152,15 @@ im_window_is_active () ...@@ -155,28 +152,15 @@ im_window_is_active ()
gboolean gboolean
im_window_is_visible () im_window_is_visible ()
{ {
return gtk_widget_get_visible (GTK_WIDGET(im_window_get())); return gtk_widget_get_visible(GTK_WIDGET(im_window_get()));
}
void
im_window_show ()
{
gtk_window_present (im_window_get ());
} }
void void
im_window_add (GtkWidget *widget) im_window_add (GtkWidget *widget)
{ {
if (im_window_get()) { if (im_window_get()) {
/* Add the new tab to the notebook */
im_window_add_tab (widget); im_window_add_tab (widget);
/* Show it all */
gtk_widget_show_all (GTK_WIDGET(im_window_get())); gtk_widget_show_all (GTK_WIDGET(im_window_get()));
}
else {
ERROR ("InstantMessaging: Error: Could not create the main instant messaging window");
} }
} }
...@@ -199,6 +183,14 @@ close_tab_cb (GtkButton *button UNUSED, gpointer userdata) ...@@ -199,6 +183,14 @@ close_tab_cb (GtkButton *button UNUSED, gpointer userdata)
// gtk_widget_destroy (im_window); // gtk_widget_destroy (im_window);
} }
static void
im_window_hide_show_tabs ()
{
/* If only one tab is open, do not display the tab, only the content */
gtk_notebook_set_show_tabs(GTK_NOTEBOOK (im_notebook),
gtk_notebook_get_n_pages (GTK_NOTEBOOK (im_notebook)) != 1);
}
void void
im_window_add_tab (GtkWidget *widget) im_window_add_tab (GtkWidget *widget)
{ {
...@@ -247,17 +239,6 @@ im_window_add_tab (GtkWidget *widget) ...@@ -247,17 +239,6 @@ im_window_add_tab (GtkWidget *widget)
im_window_hide_show_tabs (); im_window_hide_show_tabs ();
} }
void
im_window_hide_show_tabs ()
{
/* If only one tab is open, do not display the tab, only the content */
if (gtk_notebook_get_n_pages (GTK_NOTEBOOK (im_notebook)) == 1) {
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (im_notebook), FALSE);
} else
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (im_notebook), TRUE);
}
void void
im_window_show_tab (GtkWidget *widget) im_window_show_tab (GtkWidget *widget)
{ {
......
...@@ -52,8 +52,6 @@ void im_window_add (GtkWidget *widget); ...@@ -52,8 +52,6 @@ void im_window_add (GtkWidget *widget);
*/ */
void im_window_remove_tab (GtkWidget *widget); void im_window_remove_tab (GtkWidget *widget);
void im_window_show ();
/** /**
* Return wether the instant messaging window have been created or not * Return wether the instant messaging window have been created or not
*/ */
...@@ -75,11 +73,6 @@ gint im_window_get_nb_tabs (void); ...@@ -75,11 +73,6 @@ gint im_window_get_nb_tabs (void);
*/ */
void im_window_add_tab (GtkWidget *widget); void im_window_add_tab (GtkWidget *widget);
/*! @function
@abstract Decide whether or not the notebook should display its tab. Display the tabs only if more than one tab is opened.
*/
void im_window_hide_show_tabs ();
/*! @function /*! @function
@abstract Select the specified tab as current in instant messaging window @abstract Select the specified tab as current in instant messaging window
@param The tab to be set as current @param The tab to be set as current
......
...@@ -577,14 +577,16 @@ call_im(void* foo UNUSED) ...@@ -577,14 +577,16 @@ call_im(void* foo UNUSED)
conference_obj_t *selectedConf = calltab_get_selected_conf(current_calls); conference_obj_t *selectedConf = calltab_get_selected_conf(current_calls);
if (calltab_get_selected_type(current_calls) == A_CALL) { if (calltab_get_selected_type(current_calls) == A_CALL) {
if (selectedCall) if (selectedCall) {
im_widget_display((IMWidget **) (&selectedCall->_im_widget), NULL, selectedCall->_callID, NULL); if (!selectedCall->_im_widget)
else selectedCall->_im_widget = im_widget_display(selectedCall->_callID);
} else
WARN("Sorry. Instant messaging is not allowed outside a call\n"); WARN("Sorry. Instant messaging is not allowed outside a call\n");
} else { } else {
if (selectedConf) if (selectedConf) {
im_widget_display((IMWidget **) (&selectedConf->_im_widget), NULL, selectedConf->_confID, NULL); if (!selectedConf->_im_widget)
else selectedConf->_im_widget = im_widget_display(selectedConf->_confID);
} else
WARN("Sorry. Instant messaging is not allowed outside a call\n"); WARN("Sorry. Instant messaging is not allowed outside a call\n");
} }
} }
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include <JavaScriptCore/JavaScript.h> #include <JavaScriptCore/JavaScript.h>
#include <gdk/gdkkeysyms.h> #include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include <assert.h>
#include "sflphone_const.h" #include "sflphone_const.h"
...@@ -44,84 +45,81 @@ static void ...@@ -44,84 +45,81 @@ static void
on_frame_loading_done (GObject *gobject UNUSED, GParamSpec *pspec UNUSED, gpointer user_data) on_frame_loading_done (GObject *gobject UNUSED, GParamSpec *pspec UNUSED, gpointer user_data)
{ {
IMWidget *im = IM_WIDGET (user_data); IMWidget *im = IM_WIDGET (user_data);
callable_obj_t *call;
conference_obj_t *conf;
if (im->first_message && im->first_message_from) {
switch (webkit_web_frame_get_load_status (WEBKIT_WEB_FRAME (im->web_frame))) {
case WEBKIT_LOAD_PROVISIONAL:
case WEBKIT_LOAD_COMMITTED:
break;
case WEBKIT_LOAD_FINISHED:
call = calllist_get_call (current_calls, im->call_id);
conf = conferencelist_get (current_calls, im->call_id);
if (call)
im_widget_add_message (im, im->first_message_from, im->first_message, 0);
if (conf)
im_widget_add_message (im, im->first_message_from, im->first_message, 0);
g_free (im->first_message);
g_free (im->first_message_from);
im->first_message = NULL;
im->first_message_from = NULL;
DEBUG ("InstantMessaging: JavaScrip loading frame finished");
break;
case WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT:
// case WEBKIT_LOAD_FAILED: // only available in webkit-1.0-2
break;
case WEBKIT_LOAD_FAILED:
DEBUG("InstantMessaging: Webkit load failed");
break;
default:
ERROR("InstantMessaging: Error: Not a valid case in switch");
break;
}
}
if (!im->first_message || !im->first_message_from)
return;
switch (webkit_web_frame_get_load_status (WEBKIT_WEB_FRAME (im->web_frame))) {
case WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT:
case WEBKIT_LOAD_PROVISIONAL:
case WEBKIT_LOAD_COMMITTED:
break;
case WEBKIT_LOAD_FINISHED:
if (calllist_get_call (current_calls, im->call_id))
im_widget_add_message (im, im->first_message_from, im->first_message, 0);
if (conferencelist_get (current_calls, im->call_id))
im_widget_add_message (im, im->first_message_from, im->first_message, 0);
g_free(im->first_message);
g_free(im->first_message_from);
im->first_message = NULL;
im->first_message_from = NULL;
break;
case WEBKIT_LOAD_FAILED:
DEBUG("InstantMessaging: Webkit load failed");
break;
}
} }
gchar *