view src/gaim-client.c @ 12119:312efb43c49a

[gaim-migrate @ 14419] Let's try this modification to charkins latest visibility_manager change. I moved the restore_position and show_all calls into the blist_show function, since I really don't think we need to be showing and then iconifying the blist everytime we set_visible gets called without a visibility manager. I removed the gaim_blist_show call from connection.c that was causing the blist window to be re-shown when an account connected. I think this was either a remnant of the blist raise on events pref or a remnant from when we had a Login screen. I don't think we need it anymore, someone let me know if this breaks things. I also removed what I believe was the visibility_manager check that was added to work around the annoyance this was causing. committer: Tailor Script <tailor@pidgin.im>
author Etan Reisner <pidgin@unreliablesource.net>
date Thu, 17 Nov 2005 00:11:53 +0000
parents 421a8523ad04
children 8bda65b88e49
line wrap: on
line source

#define DBUS_API_SUBJECT_TO_CHANGE

#include <dbus/dbus-glib.h>
#include <stdio.h>
#include <stdlib.h>

#include "dbus-gaim.h"
#include "gaim-client-bindings.h"

static DBusGConnection *bus;
static DBusGProxy *gaim_proxy;

static GList *garray_int_to_glist(GArray *array) {
    GList *list = NULL;
    int i;

    for(i = 0; i < array->len; i++) 
	list = g_list_append(list, GINT_TO_POINTER(g_array_index(array,gint,i)));

    g_array_free(array, TRUE);
    return list;
}

static GSList *garray_int_to_gslist(GArray *array) {
    GSList *list = NULL;
    int i;

    for(i = 0; i < array->len; i++) 
	list = g_slist_append(list, GINT_TO_POINTER(g_array_index(array,gint,i)));

    g_array_free(array, TRUE);
    return list;
}

#include "gaim-client-bindings.c"

static void lose (const char *fmt, ...) G_GNUC_NORETURN G_GNUC_PRINTF (1, 2);
static void lose_gerror (const char *prefix, GError *error) G_GNUC_NORETURN;

static void
lose (const char *str, ...)
{
  va_list args;

  va_start (args, str);

  vfprintf (stderr, str, args);
  fputc ('\n', stderr);

  va_end (args);

  exit (1);
}

static void
lose_gerror (const char *prefix, GError *error) 
{
  lose ("%s: %s", prefix, error->message);
}

void gaim_init(void) {
  GError *error = NULL;

  g_type_init ();

  bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
  if (!bus) 
    lose_gerror ("Couldn't connect to session bus", error);

  gaim_proxy = dbus_g_proxy_new_for_name (bus,
				    DBUS_SERVICE_GAIM,
				    DBUS_PATH_GAIM,         
				    DBUS_INTERFACE_GAIM);

  if (!gaim_proxy)
    lose_gerror ("Couldn't connect to the Gaim Service", error);
}