Mercurial > pidgin.yaz
view gtk/gtkdocklet.h @ 14725:62366c6a10eb
[gaim-migrate @ 17479]
Make sure plugins are marked not-loadable if their ui-requirement can't be met.
You are going to need to rebuild all the non-core plugins.
The UI specific plugins for Gaim specifies their ui-requirement in the plugin
structure. So it'd make sense to load such plugins only if the ui-requirement
can be met. As it happens, gntgf (a gnt-plugin for gaim-text) can be loaded from
Gaim, which has been reported to have caused Gaim to freeze. gntgf does mark
itself as a gnt-plugin. So I think it should be upto libgaim to make sure
plugins are marked not-loadable if the ui-requirements can not be met.
This commit does exactly that. In doing so, it changes the string plugins
use to specify their ui-requirement (the change is from "gtk" to GAIM_GTK_UI --
which is "gtk-gaim"). So this will require all the non-core plugins to be
rebuilt.
committer: Tailor Script <tailor@pidgin.im>
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sat, 14 Oct 2006 05:29:11 +0000 |
parents | a8c2af13b96d |
children |
line wrap: on
line source
/* * System tray icon (aka docklet) plugin for Gaim * * Copyright (C) 2002-3 Robert McQueen <robot101@debian.org> * Copyright (C) 2003 Herman Bloggs <hermanator12002@yahoo.com> * Inspired by a similar plugin by: * John (J5) Palmieri <johnp@martianrock.com> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program 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 * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. */ #ifndef _GTKDOCKLET_H_ #define _GTKDOCKLET_H_ typedef enum { DOCKLET_STATUS_OFFLINE, DOCKLET_STATUS_ONLINE, DOCKLET_STATUS_ONLINE_PENDING, DOCKLET_STATUS_AWAY, DOCKLET_STATUS_AWAY_PENDING, DOCKLET_STATUS_CONNECTING } DockletStatus; struct docklet_ui_ops { void (*create)(void); void (*destroy)(void); void (*update_icon)(DockletStatus); void (*blank_icon)(void); void (*set_tooltip)(gchar *); GtkMenuPositionFunc position_menu; }; /* functions in gtkdocklet.c */ void gaim_gtk_docklet_clicked(int); void gaim_gtk_docklet_embedded(void); void gaim_gtk_docklet_remove(void); void gaim_gtk_docklet_set_ui_ops(struct docklet_ui_ops *); void gaim_gtk_docklet_unload(void); void gaim_gtk_docklet_init(void); void gaim_gtk_docklet_uninit(void); void*gaim_gtk_docklet_get_handle(void); /* function in gtkdocklet-{x11,win32}.c */ void docklet_ui_init(void); #endif /* _GTKDOCKLET_H_ */