diff options
author | George Lebl <jirka@5z.com> | 2001-11-06 04:46:28 +0000 |
---|---|---|
committer | George Lebl <jirka@src.gnome.org> | 2001-11-06 04:46:28 +0000 |
commit | 983857411a976c12f78e1c7d0ef81657d1d506a5 (patch) | |
tree | 7d99d81e426877ae598a4fe22d5db987568bda43 | |
parent | 11bc7f3a1d30798be5ca7da5e33763e10c04d966 (diff) | |
download | gdm-983857411a976c12f78e1c7d0ef81657d1d506a5.tar.gz |
Begin GNOME 2.0 porting. Not complete yet, daemon may 'compile', gui
Mon Nov 05 21:28:43 2001 George Lebl <jirka@5z.com>
* configure.in, **/Makefile.am, daemon/*.[ch], utils/*.[ch],
gui/*.[ch]: Begin GNOME 2.0 porting. Not complete yet,
daemon may 'compile', gui doesn't compile yet
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rwxr-xr-x | autogen.sh | 6 | ||||
-rw-r--r-- | configure.in | 63 | ||||
-rw-r--r-- | daemon/Makefile.am | 8 | ||||
-rw-r--r-- | daemon/auth.c | 4 | ||||
-rw-r--r-- | daemon/choose.c | 2 | ||||
-rw-r--r-- | daemon/cookie.c | 2 | ||||
-rw-r--r-- | daemon/display.c | 3 | ||||
-rw-r--r-- | daemon/errorgui.c | 80 | ||||
-rw-r--r-- | daemon/filecheck.c | 2 | ||||
-rw-r--r-- | daemon/gdm-net.c | 5 | ||||
-rw-r--r-- | daemon/gdm.c | 174 | ||||
-rw-r--r-- | daemon/gdm.h | 12 | ||||
-rw-r--r-- | daemon/misc.c | 3 | ||||
-rw-r--r-- | daemon/server.c | 3 | ||||
-rw-r--r-- | daemon/slave.c | 6 | ||||
-rw-r--r-- | daemon/verify-crypt.c | 2 | ||||
-rw-r--r-- | daemon/verify-pam.c | 3 | ||||
-rw-r--r-- | daemon/verify-shadow.c | 2 | ||||
-rw-r--r-- | daemon/xdmcp.c | 2 | ||||
-rw-r--r-- | gui/Makefile.am | 33 | ||||
-rw-r--r-- | gui/gdmXnestchooser.c | 3 | ||||
-rw-r--r-- | gui/gdmchooser.c | 34 | ||||
-rw-r--r-- | gui/gdmconfig.c | 3 | ||||
-rw-r--r-- | gui/gdmflexiserver.c | 3 | ||||
-rw-r--r-- | gui/gdmlanguages.c | 3 | ||||
-rw-r--r-- | gui/gdmlogin.c | 53 | ||||
-rw-r--r-- | gui/gdmphotosetup.c | 3 | ||||
-rw-r--r-- | gui/gdmwm.c | 3 | ||||
-rw-r--r-- | gui/misc.c | 3 | ||||
-rw-r--r-- | utils/Makefile.am | 8 | ||||
-rw-r--r-- | utils/gdmaskpass.c | 2 |
33 files changed, 301 insertions, 240 deletions
@@ -1,3 +1,9 @@ +Mon Nov 05 21:28:43 2001 George Lebl <jirka@5z.com> + + * configure.in, **/Makefile.am, daemon/*.[ch], utils/*.[ch], + gui/*.[ch]: Begin GNOME 2.0 porting. Not complete yet, + daemon may 'compile', gui doesn't compile yet + Thu Nov 01 01:06:21 2001 George Lebl <jirka@5z.com> * Release 2.2.5.1 diff --git a/Makefile.am b/Makefile.am index 7a8afb6d..3aa381f9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = config macros pixmaps intl vicious-extensions \ +SUBDIRS = config pixmaps intl vicious-extensions \ daemon gui utils docs omf-install po EXTRA_DIST = \ @@ -20,4 +20,8 @@ fi exit 1 } -. $srcdir/macros/autogen.sh +which gnome-autogen.sh || { + echo "You need to install gnome-common from the GNOME CVS" + exit 1 +} +USE_GNOME2_MACROS=1 . gnome-autogen.sh diff --git a/configure.in b/configure.in index 8ca8ac21..7d34a5e1 100644 --- a/configure.in +++ b/configure.in @@ -7,11 +7,15 @@ dnl AM_PROG_XML_I18N_TOOLS AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(gdm,2.2.5.1) +AM_INIT_AUTOMAKE(gdm,2.3.90.0) AM_MAINTAINER_MODE -AM_ACLOCAL_INCLUDE(macros) -GDK_PIXBUF_REQUIRED=0.7.0 +GDK_PIXBUF_REQUIRED=1.3.1 +GTK_REQUIRED=1.3.1 +LIBGLADE_REQUIRED=1.99.2 +LIBGNOME_REQUIRED=1.96.0 +LIBGNOMEUI_REQUIRED=1.96.0 +SCROLLKEEPER_REQUIRED=0.1.4 # vicious-extensions stuff AC_CHECK_FUNCS([setenv unsetenv clearenv]) @@ -94,7 +98,7 @@ fi dnl dnl Standard stuff dnl -GNOME_INIT +GNOME_COMMON_INIT AC_ISC_POSIX AC_PROG_CC @@ -102,11 +106,27 @@ AC_STDC_HEADERS dnl AC_ARG_PROGRAM AM_PROG_LIBTOOL -GNOME_X_CHECKS +GNOME_PLATFORM_GNOME_2(yes) +GNOME_COMPILE_WARNINGS(maximum) -AM_PATH_LIBGLADE(,,gnome) -if test "x$LIBGLADE_CFLAGS" = "x"; then - AC_MSG_ERROR(Libglade is required for gdm) +PKG_CHECK_MODULES(DAEMON, gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED libglade-2.0 >= $LIBGLADE_REQUIRED) +AC_SUBST(DAEMON_CFLAGS) +AC_SUBST(DAEMON_LIBS) + +PKG_CHECK_MODULES(GUI, gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED libglade-2.0 >= $LIBGLADE_REQUIRED) +AC_SUBST(GUI_CFLAGS) +AC_SUBST(GUI_LIBS) + +PKG_CHECK_MODULES(UTILS, gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED libglade-2.0 >= $LIBGLADE_REQUIRED) +AC_SUBST(UTILS_CFLAGS) +AC_SUBST(UTILS_LIBS) + +dnl +dnl libglade conversion script +dnl +AC_PATH_PROG(LIBGLADE_CONVERT, libglade-convert) +if test -z $LIBGLADE_CONVERT; then + AC_MSG_ERROR([libglade-convert (from libglade 2.0) is needed to build gdm.]) fi dnl Allow users to run gdmconfig using the console helper PAM stuff. @@ -123,7 +143,8 @@ AC_SUBST(LDFLAGS) dnl ## internationalization support ALL_LINGUAS="az ca cs da de el es et fi fr ga gl hu it ja ko lt lv ms nl nn no pl pt_BR ro ru sk sl sv ta tr uk zh_CN.GB2312 zh_TW" dnl AM_GNOME_GETTEXT -AM_GNU_GETTEXT +dnl AM_GNU_GETTEXT +AM_GLIB_GNU_GETTEXT # TCP Wrappers for XDMCP access control if test x$with_tcp_wrappers = xno ; then @@ -274,7 +295,7 @@ if test x$with_xdmcp != xno ; then AC_CHECK_LIB(Xdmcp, XdmcpFlush, [ AC_DEFINE(HAVE_LIBXDMCP) XDMCP_LIBS="-lXdmcp" - XDMCP_SUPPORT=yes],, $GTK_LIBS) + XDMCP_SUPPORT=yes],, $GUI_LIBS) ]) if test x$with_xdmcp = xyes -a x$XDMCP_SUPPORT = x ; then @@ -303,7 +324,7 @@ if test x$with_xinerama != xno ; then AC_CHECK_LIB(Xinerama, XineramaQueryScreens, [ AC_DEFINE(HAVE_LIBXINERAMA) LIBS="$LIBS -lXinerama" - XINERAMA_SUPPORT=yes],, $GTK_LIBS) + XINERAMA_SUPPORT=yes],, $GUI_LIBS) ]) if test x$with_xinerama = xyes -a x$XINERAMA_SUPPORT = x ; then @@ -311,26 +332,6 @@ if test x$with_xinerama != xno ; then fi fi -dnl -dnl GdkPixBuf -dnl -AC_MSG_CHECKING(for GdkPixbuf library >= $GDK_PIXBUF_REQUIRED) -PIXBUF_CFLAGS=`$GNOME_CONFIG --cflags gdk_pixbuf` -PIXBUF_LIBS=`$GNOME_CONFIG --libs gdk_pixbuf` -if test "x$PIXBUF_CFLAGS" != x ; then - vers=`gdk-pixbuf-config --version | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'` - if test "$vers" -ge 0007000; then - AC_MSG_RESULT(found) - else - AC_MSG_ERROR(You need at least GdkPixbuf version 0.7.0 for the panel) - fi -else - AC_MSG_ERROR(Did not find GdkPixbuf installed) -fi -AC_SUBST(PIXBUF_CFLAGS) -AC_SUBST(PIXBUF_LIBS) -AC_SUBST(GDK_PIXBUF_REQUIRED) - # # Configuration file foo, we need to get expanded versions of a bunch of things # if you actually know how to code shell then fix this :-) diff --git a/daemon/Makefile.am b/daemon/Makefile.am index 534533c3..0dff2ded 100644 --- a/daemon/Makefile.am +++ b/daemon/Makefile.am @@ -8,11 +8,10 @@ DEFS = @DEFS@ -DGDM_CONFIG_FILE=\"@sysconfdir@/gdm/gdm.conf\" INCLUDES = \ -I. \ -I.. \ - -I$(includedir) \ -I$(top_srcdir)/vicious-extensions \ -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ -DLOCALEDIR=\"$(datadir)/locale\" \ - $(GNOME_INCLUDEDIR) + $(DAEMON_CFLAGS) bin_PROGRAMS = gdm @@ -49,10 +48,7 @@ gdm_SOURCES = \ EXTRA_gdm_SOURCES = verify-pam.c verify-crypt.c verify-shadow.c gdm_LDADD = \ - $(GNOME_LIBDIR) \ - $(GNOME_LIBS) \ - $(GNOMEUI_LIBS) \ - $(GTK_LIBS) \ + $(DAEMON_LIBS) \ $(XDMCP_LIBS) \ -lXau \ -lX11 \ diff --git a/daemon/auth.c b/daemon/auth.c index ed673ca2..c54d21c5 100644 --- a/daemon/auth.c +++ b/daemon/auth.c @@ -20,7 +20,9 @@ * support other XAuth types and possibly DECnet... */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <sys/types.h> +#include <unistd.h> #include <sys/stat.h> #include <netdb.h> #include <netinet/in.h> diff --git a/daemon/choose.c b/daemon/choose.c index 8fc35b29..8d8ba7c7 100644 --- a/daemon/choose.c +++ b/daemon/choose.c @@ -19,7 +19,7 @@ /* This file contains the XDMCP chooser glue */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> #include <stdio.h> #include <stdlib.h> #include <syslog.h> diff --git a/daemon/cookie.c b/daemon/cookie.c index 7a440a12..bf852ec2 100644 --- a/daemon/cookie.c +++ b/daemon/cookie.c @@ -32,7 +32,7 @@ #include <fcntl.h> #include <sys/time.h> #include <unistd.h> -#include <gnome.h> +#include <libgnome/libgnome.h> #include "gdm.h" #include "md5.h" diff --git a/daemon/display.c b/daemon/display.c index 9a39e3d9..e110c795 100644 --- a/daemon/display.c +++ b/daemon/display.c @@ -17,12 +17,13 @@ */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> #include <syslog.h> #include <signal.h> #include <sys/wait.h> #include <X11/Xauth.h> #include <sys/types.h> +#include <unistd.h> #include <fcntl.h> #include "gdm.h" diff --git a/daemon/errorgui.c b/daemon/errorgui.c index 5603bae1..879bbbe1 100644 --- a/daemon/errorgui.c +++ b/daemon/errorgui.c @@ -20,7 +20,8 @@ * and the user's session scripts. */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <libgnomeui/libgnomeui.h> #include <gdk/gdkx.h> #include <unistd.h> #include <sys/types.h> @@ -37,17 +38,16 @@ extern int stored_argc; extern char *stored_path; static gboolean -gdm_event (GtkObject *object, - guint signal_id, - guint n_params, - GtkArg *params, - gpointer data) +gdm_event (GSignalInvocationHint *ihint, + guint n_param_values, + const GValue *param_values, + gpointer data) { /* HAAAAAAAAAAAAAAAAACK */ /* Since the user has not logged in yet and may have left/right * mouse buttons switched, we just translate every right mouse click * to a left mouse click */ - GdkEvent *event = GTK_VALUE_POINTER(params[0]); + GdkEvent *event = g_value_get_pointer ((GValue *)param_values); if ((event->type == GDK_BUTTON_PRESS || event->type == GDK_2BUTTON_PRESS || event->type == GDK_3BUTTON_PRESS || @@ -71,16 +71,20 @@ gdm_run_errorgui (const char *error, guint sid; char *argv[2] = { "gdm-error-box", NULL }; - /* Avoid creating ~gdm/.gnome stuff */ - gnome_do_not_create_directories = TRUE; - - gnome_init ("gdm-error-box", VERSION, 1, argv); + gnome_program_init ("gdm-error-box", VERSION, + LIBGNOMEUI_MODULE, + 1, argv, + /* Avoid creating ~gdm/.gnome stuff */ + "create-directories", FALSE, + NULL); - sid = gtk_signal_lookup ("event", - GTK_TYPE_WIDGET); - gtk_signal_add_emission_hook (sid, - gdm_event, - NULL); + sid = g_signal_lookup ("event", + GTK_TYPE_WIDGET); + g_signal_add_emission_hook (sid, + 0 /* detail */, + gdm_event, + NULL /* data */, + NULL /* destroy_notify */); dialog = gnome_message_box_new (error, dialog_type, @@ -184,16 +188,20 @@ gdm_run_failsafe_question (const char *question, char *ret; char *argv[2] = { "gdm-failsafe-question", NULL }; - /* Avoid creating ~gdm/.gnome stuff */ - gnome_do_not_create_directories = TRUE; - - gnome_init ("gdm-failsafe-question", VERSION, 1, argv); + gnome_program_init ("gdm-failsafe-question", VERSION, + LIBGNOMEUI_MODULE, + 1, argv, + /* Avoid creating ~gdm/.gnome stuff */ + "create-directories", FALSE, + NULL); - sid = gtk_signal_lookup ("event", - GTK_TYPE_WIDGET); - gtk_signal_add_emission_hook (sid, - gdm_event, - NULL); + sid = g_signal_lookup ("event", + GTK_TYPE_WIDGET); + g_signal_add_emission_hook (sid, + 0 /* detail */, + gdm_event, + NULL /* data */, + NULL /* destroy_notify */); dialog = gnome_dialog_new (question, GNOME_STOCK_BUTTON_OK, @@ -334,16 +342,20 @@ gdm_run_failsafe_yesno (const char *question, guint sid; char *argv[2] = { "gdm-failsafe-yesno", NULL }; - /* Avoid creating ~gdm/.gnome stuff */ - gnome_do_not_create_directories = TRUE; - - gnome_init ("gdm-failsafe-yesno", VERSION, 1, argv); + gnome_program_init ("gdm-failsafe-yesno", VERSION, + LIBGNOMEUI_MODULE, + 1, argv, + /* Avoid creating ~gdm/.gnome stuff */ + "create-directories", FALSE, + NULL); - sid = gtk_signal_lookup ("event", - GTK_TYPE_WIDGET); - gtk_signal_add_emission_hook (sid, - gdm_event, - NULL); + sid = g_signal_lookup ("event", + GTK_TYPE_WIDGET); + g_signal_add_emission_hook (sid, + 0 /* detail */, + gdm_event, + NULL /* data */, + NULL /* destroy_notify */); dialog = gnome_message_box_new (question, GNOME_MESSAGE_BOX_QUESTION, diff --git a/daemon/filecheck.c b/daemon/filecheck.c index 369104ad..68565577 100644 --- a/daemon/filecheck.c +++ b/daemon/filecheck.c @@ -17,7 +17,7 @@ */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> #include <syslog.h> #include <sys/stat.h> diff --git a/daemon/gdm-net.c b/daemon/gdm-net.c index c5704288..798c4f22 100644 --- a/daemon/gdm-net.c +++ b/daemon/gdm-net.c @@ -17,7 +17,8 @@ */ #include "config.h" -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <unistd.h> #include <signal.h> #include <sys/stat.h> #include <sys/wait.h> @@ -95,7 +96,7 @@ gdm_connection_handler (GIOChannel *source, GdmConnection *conn = data; gchar buf[PIPE_SIZE]; char *p; - gint len; + gsize len; if ( ! (cond & G_IO_IN)) return close_if_needed (conn, cond); diff --git a/daemon/gdm.c b/daemon/gdm.c index ab37f312..ce59478b 100644 --- a/daemon/gdm.c +++ b/daemon/gdm.c @@ -17,8 +17,10 @@ */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> #include <signal.h> +#include <unistd.h> +#include <sys/types.h> #include <sys/stat.h> #include <sys/wait.h> #include <sys/socket.h> @@ -1115,7 +1117,7 @@ mainloop_sig_callback (gint8 sig, gpointer data) static void signal_notify (int sig) { - g_signal_notify (sig); + gdm_signal_notify (sig); } /* @@ -1223,7 +1225,7 @@ main (int argc, char *argv[]) /* XDM compliant error message */ - if (getuid() != 0) { + if (getuid () != 0) { /* make sure the pid file doesn't get wiped */ GdmPidFile = NULL; gdm_fail (_("Only root wants to run gdm\n")); @@ -1232,8 +1234,13 @@ main (int argc, char *argv[]) /* Initialize runtime environment */ umask (022); - gnome_do_not_create_directories = TRUE; - gnomelib_init ("gdm", VERSION); + + gnome_program_init ("gdm", VERSION, + NULL /* module_info */, + argc, argv, + "create-directories", FALSE, + NULL); + main_loop = g_main_new (FALSE); openlog ("gdm", LOG_PID, LOG_DAEMON); @@ -1274,11 +1281,11 @@ main (int argc, char *argv[]) gdm_daemonify(); /* Signal handling */ - g_signal_add (SIGCHLD, mainloop_sig_callback, NULL); - g_signal_add (SIGTERM, mainloop_sig_callback, NULL); - g_signal_add (SIGINT, mainloop_sig_callback, NULL); - g_signal_add (SIGHUP, mainloop_sig_callback, NULL); - g_signal_add (SIGUSR1, mainloop_sig_callback, NULL); + gdm_signal_add (SIGCHLD, mainloop_sig_callback, NULL); + gdm_signal_add (SIGTERM, mainloop_sig_callback, NULL); + gdm_signal_add (SIGINT, mainloop_sig_callback, NULL); + gdm_signal_add (SIGHUP, mainloop_sig_callback, NULL); + gdm_signal_add (SIGUSR1, mainloop_sig_callback, NULL); term.sa_handler = signal_notify; term.sa_flags = SA_RESTART; @@ -1349,116 +1356,123 @@ main (int argc, char *argv[]) /* signal main loop support */ -typedef struct _GSignalData GSignalData; -struct _GSignalData +typedef struct _GDMSignalData GDMSignalData; +struct _GDMSignalData { - guint8 index; - guint8 shift; - GSignalFunc callback; + gint8 signal; + guint8 index; + guint8 shift; }; -static gboolean g_signal_prepare (gpointer source_data, - GTimeVal *current_time, - gint *timeout, - gpointer user_data); -static gboolean g_signal_check (gpointer source_data, - GTimeVal *current_time, - gpointer user_data); -static gboolean g_signal_dispatch (gpointer source_data, - GTimeVal *current_time, - gpointer user_data); +static gboolean gdm_signal_prepare (GSource *source, + gint *timeout); +static gboolean gdm_signal_check (GSource *source); +static gboolean gdm_signal_dispatch (GSource *source, + GSourceFunc callback, + gpointer user_data); +static void gdm_signal_destroy (GSource *source); static GSourceFuncs signal_funcs = { - g_signal_prepare, - g_signal_check, - g_signal_dispatch, - g_free + gdm_signal_prepare, + gdm_signal_check, + gdm_signal_dispatch, + gdm_signal_destroy }; static guint32 signals_notified[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; static gboolean -g_signal_prepare (gpointer source_data, - GTimeVal *current_time, - gint *timeout, - gpointer user_data) +gdm_signal_prepare (GSource *source, + gint *timeout) { - GSignalData *signal_data = source_data; - - return signals_notified[signal_data->index] & (1 << signal_data->shift); + GDMSignalData *signal_data = g_dataset_get_data (source, "SignalData"); + + return signals_notified[signal_data->index] & (1 << signal_data->shift); } static gboolean -g_signal_check (gpointer source_data, - GTimeVal *current_time, - gpointer user_data) +gdm_signal_check (GSource *source) { - GSignalData *signal_data = source_data; - - return signals_notified[signal_data->index] & (1 << signal_data->shift); + GDMSignalData *signal_data = g_dataset_get_data (source, "SignalData"); + + return signals_notified[signal_data->index] & (1 << signal_data->shift); } static gboolean -g_signal_dispatch (gpointer source_data, - GTimeVal *current_time, - gpointer user_data) +gdm_signal_dispatch (GSource *source, + GSourceFunc callback, + gpointer user_data) { - GSignalData *signal_data = source_data; - - signals_notified[signal_data->index] &= ~(1 << signal_data->shift); - - return signal_data->callback (-128 + signal_data->index * 32 + signal_data->shift, user_data); + GDMSignalData *signal_data = g_dataset_get_data (source, "SignalData"); + + signals_notified[signal_data->index] &= ~(1 << signal_data->shift); + + return ((GDMSignalFunc)callback) (signal_data->signal, user_data); +} + +static void +gdm_signal_destroy (GSource *source) +{ + g_dataset_destroy (source); } guint -g_signal_add (gint8 signal, - GSignalFunc function, - gpointer data) +gdm_signal_add (gint8 signal, + GDMSignalFunc function, + gpointer data) { - return g_signal_add_full (G_PRIORITY_DEFAULT, signal, function, data, NULL); + return gdm_signal_add_full (G_PRIORITY_DEFAULT, signal, function, data, NULL); } guint -g_signal_add_full (gint priority, - gint8 signal, - GSignalFunc function, - gpointer data, - GDestroyNotify destroy) +gdm_signal_add_full (gint priority, + gint8 signal, + GDMSignalFunc function, + gpointer data, + GDestroyNotify destroy) { - GSignalData *signal_data; - guint s = 128 + signal; - - g_return_val_if_fail (function != NULL, 0); - - signal_data = g_new (GSignalData, 1); - signal_data->index = s / 32; - signal_data->shift = s % 32; - signal_data->callback = function; - - return g_source_add (priority, TRUE, &signal_funcs, signal_data, data, destroy); + GSource *source; + GDMSignalData *signal_data; + guint s = 128 + signal; + + g_return_val_if_fail (function != NULL, 0); + + signal_data = g_new (GDMSignalData, 1); + signal_data->signal = signal; + signal_data->index = s / 32; + signal_data->shift = s % 32; + + source = g_source_new (&signal_funcs, sizeof (GSource)); + + g_dataset_set_data_full (source, "SignalData", signal_data, g_free); + g_source_set_priority (source, priority); + g_source_set_callback (source, (GSourceFunc)function, data, destroy); + g_source_set_can_recurse (source, TRUE); + + return g_source_attach (source, NULL); } void -g_signal_notify (gint8 signal) +gdm_signal_notify (gint8 signal) { - guint index, shift; - guint s = 128 + signal; - - index = s / 32; - shift = s % 32; - - signals_notified[index] |= 1 << shift; + guint index, shift; + guint s = 128 + signal; + + index = s / 32; + shift = s % 32; + + signals_notified[index] |= 1 << shift; } void gdm_run (void) { - g_main_run (main_loop); + g_main_run (main_loop); } void gdm_quit (void) { - g_main_quit (main_loop); + g_main_quit (main_loop); } static void diff --git a/daemon/gdm.h b/daemon/gdm.h index 0d8176dc..9221935a 100644 --- a/daemon/gdm.h +++ b/daemon/gdm.h @@ -371,17 +371,17 @@ enum { GDM_XDMCP_LAST_OPCODE /*just a marker, not an opcode */ }; -typedef gboolean (*GSignalFunc) (gint8 signal, +typedef gboolean (*GDMSignalFunc) (gint8 signal, gpointer data); -guint g_signal_add (gint8 signal, - GSignalFunc function, +guint gdm_signal_add (gint8 signal, + GDMSignalFunc function, gpointer data); -guint g_signal_add_full (gint priority, +guint gdm_signal_add_full (gint priority, gint8 signal, - GSignalFunc function, + GDMSignalFunc function, gpointer data, GDestroyNotify destroy); -void g_signal_notify (gint8 signal); +void gdm_signal_notify (gint8 signal); /* If id == NULL, then get the first X server */ GdmXServer * gdm_find_x_server (const char *id); diff --git a/daemon/misc.c b/daemon/misc.c index 996c2750..ffa40e56 100644 --- a/daemon/misc.c +++ b/daemon/misc.c @@ -17,8 +17,9 @@ */ #include "config.h" -#include <gnome.h> +#include <libgnome/libgnome.h> #include <syslog.h> +#include <unistd.h> #include <signal.h> #include <sys/types.h> #include <sys/stat.h> diff --git a/daemon/server.c b/daemon/server.c index 64c5b9c2..4a38e8f7 100644 --- a/daemon/server.c +++ b/daemon/server.c @@ -19,8 +19,9 @@ /* This file contains functions for controlling local X servers */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> #include <stdio.h> +#include <unistd.h> #include <stdlib.h> #include <fcntl.h> #include <pwd.h> diff --git a/daemon/slave.c b/daemon/slave.c index a77a3363..ab94909f 100644 --- a/daemon/slave.c +++ b/daemon/slave.c @@ -20,10 +20,12 @@ * and the user's session scripts. */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <libgnomeui/libgnomeui.h> #include <gdk/gdkx.h> #include <stdio.h> #include <stdlib.h> +#include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> @@ -2045,7 +2047,7 @@ gdm_slave_session_start (void) } if (pwent->pw_dir == NULL || - ! g_file_test (pwent->pw_dir, G_FILE_TEST_ISDIR)) { + ! g_file_test (pwent->pw_dir, G_FILE_TEST_IS_DIR)) { char *msg = g_strdup_printf ( _("Your home directory is listed as:\n'%s'\n" "but it does not appear to exist.\n" diff --git a/daemon/verify-crypt.c b/daemon/verify-crypt.c index 430c8ff3..28171bcb 100644 --- a/daemon/verify-crypt.c +++ b/daemon/verify-crypt.c @@ -17,7 +17,7 @@ */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> #include <syslog.h> #include <pwd.h> diff --git a/daemon/verify-pam.c b/daemon/verify-pam.c index d59e5c07..c166fa61 100644 --- a/daemon/verify-pam.c +++ b/daemon/verify-pam.c @@ -17,7 +17,8 @@ */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <libgnomeui/libgnomeui.h> #include <sys/stat.h> #include <syslog.h> #include <security/pam_appl.h> diff --git a/daemon/verify-shadow.c b/daemon/verify-shadow.c index f0f6e10f..623d0bd1 100644 --- a/daemon/verify-shadow.c +++ b/daemon/verify-shadow.c @@ -17,7 +17,7 @@ */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> #include <syslog.h> #include <pwd.h> #include <shadow.h> diff --git a/daemon/xdmcp.c b/daemon/xdmcp.c index d6ee2427..ddc81c5b 100644 --- a/daemon/xdmcp.c +++ b/daemon/xdmcp.c @@ -55,7 +55,7 @@ */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> #ifdef HAVE_LIBXDMCP #include <stdio.h> diff --git a/gui/Makefile.am b/gui/Makefile.am index 847b3f03..25fa8a69 100644 --- a/gui/Makefile.am +++ b/gui/Makefile.am @@ -12,12 +12,8 @@ INCLUDES = \ -I.. \ -I$(top_srcdir)/daemon \ -I$(top_srcdir)/vicious-extensions \ - -I$(includedir) \ -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ - $(LIBGLADE_CFLAGS) \ - $(PIXBUF_CFLAGS) \ - $(GNOME_CFLAGS) \ - $(GNOME_INCLUDEDIR) + $(GUI_CFLAGS) bin_PROGRAMS = \ @GDMCHOOSER@ \ @@ -62,59 +58,44 @@ gdmconfig_SOURCES = \ misc.h gdmchooser_LDADD = \ - $(GNOME_LIBDIR) \ - $(GNOME_LIBS) \ - $(GNOMEUI_LIBS) \ + $(GUI_LIBS) \ $(XDMCP_LIBS) \ -lX11 \ $(INTLLIBS) \ - $(LIBGLADE_LIBS) \ -L$(top_builddir)/vicious-extensions \ -lvicious \ -lviciousui gdmlogin_LDADD = \ - $(GNOME_LIBDIR) \ - $(GNOME_LIBS) \ - $(GNOMEUI_LIBS) \ + $(GUI_LIBS) \ $(INTLLIBS) \ - $(PIXBUF_LIBS) \ -L$(top_builddir)/vicious-extensions \ -lvicious \ -lviciousui gdmconfig_LDADD = \ - $(GNOME_LIBDIR) \ - $(GNOME_LIBS) \ - $(GNOMEUI_LIBS) \ + $(GUI_LIBS) \ $(INTLLIBS) \ - $(LIBGLADE_LIBS) \ -L$(top_builddir)/vicious-extensions \ -lvicious \ -lviciousui gdmphotosetup_LDADD = \ - $(GNOME_LIBDIR) \ - $(GNOME_LIBS) \ - $(GNOMEUI_LIBS) \ + $(GUI_LIBS) \ $(INTLLIBS) \ -L$(top_builddir)/vicious-extensions \ -lvicious \ -lviciousui gdmXnestchooser_LDADD = \ - $(GNOME_LIBDIR) \ - $(GNOME_LIBS) \ - $(GNOMEUI_LIBS) \ + $(GUI_LIBS) \ $(INTLLIBS) \ -L$(top_builddir)/vicious-extensions \ -lvicious \ -lviciousui gdmflexiserver_LDADD = \ - $(GNOME_LIBDIR) \ - $(GNOME_LIBS) \ - $(GNOMEUI_LIBS) \ + $(GUI_LIBS) \ $(INTLLIBS) \ -L$(top_builddir)/vicious-extensions \ -lvicious \ diff --git a/gui/gdmXnestchooser.c b/gui/gdmXnestchooser.c index e71e1479..224c508c 100644 --- a/gui/gdmXnestchooser.c +++ b/gui/gdmXnestchooser.c @@ -19,7 +19,8 @@ */ #include "config.h" -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <libgnomeui/libgnomeui.h> #include <stdlib.h> #include <unistd.h> #include <stdio.h> diff --git a/gui/gdmchooser.c b/gui/gdmchooser.c index 82e70673..ae840eee 100644 --- a/gui/gdmchooser.c +++ b/gui/gdmchooser.c @@ -21,7 +21,8 @@ * selected hostname will be printed on stdout. */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <libgnomeui/libgnomeui.h> #include <glade/glade.h> #include <stdio.h> #include <stdlib.h> @@ -1002,6 +1003,27 @@ set_background (void) } } +static gboolean +gdm_event (GSignalInvocationHint *ihint, + guint n_param_values, + const GValue *param_values, + gpointer data) +{ + /* HAAAAAAAAAAAAAAAAACK */ + /* Since the user has not logged in yet and may have left/right + * mouse buttons switched, we just translate every right mouse click + * to a left mouse click */ + GdkEvent *event = g_value_get_pointer ((GValue *)param_values); + if ((event->type == GDK_BUTTON_PRESS || + event->type == GDK_2BUTTON_PRESS || + event->type == GDK_3BUTTON_PRESS || + event->type == GDK_BUTTON_RELEASE) + && event->button.button == 3) + event->button.button = 1; + + return TRUE; +} + int main (int argc, char *argv[]) { @@ -1083,6 +1105,16 @@ main (int argc, char *argv[]) gdm_chooser_xdmcp_init (hosts); poptFreeContext (ctx); + if (g_getenv ("RUNNING_UNDER_GDM") != NULL) { + guint sid = g_signal_lookup ("event", + GTK_TYPE_WIDGET); + g_signal_add_emission_hook (sid, + 0 /* detail */, + gdm_event, + NULL /* data */, + NULL /* destroy_notify */); + } + gtk_widget_show_now (chooser); /* can it ever happen that it'd be NULL here ??? */ diff --git a/gui/gdmconfig.c b/gui/gdmconfig.c index bb392b46..5158e24c 100644 --- a/gui/gdmconfig.c +++ b/gui/gdmconfig.c @@ -21,7 +21,8 @@ */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <libgnomeui/libgnomeui.h> #include <errno.h> #include <dirent.h> diff --git a/gui/gdmflexiserver.c b/gui/gdmflexiserver.c index c1a81eb8..280754e2 100644 --- a/gui/gdmflexiserver.c +++ b/gui/gdmflexiserver.c @@ -19,7 +19,8 @@ */ #include "config.h" -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <libgnomeui/libgnomeui.h> #include <gdk/gdkx.h> #include <X11/Xauth.h> diff --git a/gui/gdmlanguages.c b/gui/gdmlanguages.c index cf034c5c..42e782b1 100644 --- a/gui/gdmlanguages.c +++ b/gui/gdmlanguages.c @@ -19,7 +19,8 @@ */ #include "config.h" -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <libgnomeui/libgnomeui.h> #include <string.h> #include "gdmlanguages.h" diff --git a/gui/gdmlogin.c b/gui/gdmlogin.c index 58c4763b..5f79bcde 100644 --- a/gui/gdmlogin.c +++ b/gui/gdmlogin.c @@ -17,8 +17,8 @@ */ #include <config.h> -#include <gnome.h> -#include <gdk-pixbuf/gdk-pixbuf.h> +#include <libgnome/libgnome.h> +#include <libgnomeui/libgnomeui.h> #include <math.h> #include <stdio.h> #include <stdlib.h> @@ -225,17 +225,16 @@ gdm_timer_up_delay (GtkObject *object, } static gboolean -gdm_event (GtkObject *object, - guint signal_id, - guint n_params, - GtkArg *params, - gpointer data) +gdm_event (GSignalInvocationHint *ihint, + guint n_param_values, + const GValue *param_values, + gpointer data) { /* HAAAAAAAAAAAAAAAAACK */ /* Since the user has not logged in yet and may have left/right * mouse buttons switched, we just translate every right mouse click * to a left mouse click */ - GdkEvent *event = GTK_VALUE_POINTER(params[0]); + GdkEvent *event = g_value_get_pointer ((GValue *)param_values); if ((event->type == GDK_BUTTON_PRESS || event->type == GDK_2BUTTON_PRESS || event->type == GDK_3BUTTON_PRESS || @@ -3783,25 +3782,31 @@ main (int argc, char *argv[]) /* if in timed mode, delay timeout on keyboard or menu * activity */ if ( ! ve_string_empty (GdmTimedLogin)) { - guint sid = gtk_signal_lookup ("activate", - GTK_TYPE_MENU_ITEM); - gtk_signal_add_emission_hook (sid, - gdm_timer_up_delay, - NULL); - - sid = gtk_signal_lookup ("key_press_event", - GTK_TYPE_ENTRY); - gtk_signal_add_emission_hook (sid, - gdm_timer_up_delay, - NULL); + guint sid = g_signal_lookup ("activate", + GTK_TYPE_MENU_ITEM); + g_signal_add_emission_hook (sid, + 0 /* detail */, + gdm_timer_up_delay, + NULL /* data */, + NULL /* destroy_notify */); + + sid = g_signal_lookup ("key_press_event", + GTK_TYPE_ENTRY); + g_signal_add_emission_hook (sid, + 0 /* detail */, + gdm_timer_up_delay, + NULL /* data */, + NULL /* destroy_notify */); } if (g_getenv ("RUNNING_UNDER_GDM") != NULL) { - guint sid = gtk_signal_lookup ("event", - GTK_TYPE_WIDGET); - gtk_signal_add_emission_hook (sid, - gdm_event, - NULL); + guint sid = g_signal_lookup ("event", + GTK_TYPE_WIDGET); + g_signal_add_emission_hook (sid, + 0 /* detail */, + gdm_event, + NULL /* data */, + NULL /* destroy_notify */); } gtk_widget_show_now (login); diff --git a/gui/gdmphotosetup.c b/gui/gdmphotosetup.c index ebb878b1..d67a3b22 100644 --- a/gui/gdmphotosetup.c +++ b/gui/gdmphotosetup.c @@ -19,7 +19,8 @@ */ #include "config.h" -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <libgnomeui/libgnomeui.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> diff --git a/gui/gdmwm.c b/gui/gdmwm.c index c5a3b072..18762eae 100644 --- a/gui/gdmwm.c +++ b/gui/gdmwm.c @@ -19,7 +19,8 @@ */ #include "config.h" -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <libgnomeui/libgnomeui.h> #include <gdk/gdkx.h> #include <X11/X.h> #include <X11/Xlib.h> @@ -17,7 +17,8 @@ */ #include <config.h> -#include <gnome.h> +#include <libgnome/libgnome.h> +#include <libgnomeui/libgnomeui.h> #include <glade/glade.h> #include "misc.h" diff --git a/utils/Makefile.am b/utils/Makefile.am index 65524478..33ac3c09 100644 --- a/utils/Makefile.am +++ b/utils/Makefile.am @@ -14,10 +14,7 @@ INCLUDES = \ -I$(top_srcdir)/vicious-extensions \ -I$(includedir) \ -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ - @LIBGLADE_CFLAGS@ \ - @PIXBUF_CFLAGS@ \ - $(GNOME_CFLAGS) \ - $(GNOME_INCLUDEDIR) + $(UTILS_CFLAGS) sbin_PROGRAMS = \ @GDMASKPASS@ \ @@ -38,15 +35,12 @@ gdmmktemp_SOURCES = \ gdmmktemp.c gdmaskpass_LDADD = \ - $(GNOME_LIBDIR) \ $(INTLLIBS) \ -lpam \ -lpam_misc gdmopen_LDADD = \ - $(GNOME_LIBDIR) \ $(INTLLIBS) gdmmktemp_LDADD = \ - $(GNOME_LIBDIR) \ $(INTLLIBS) diff --git a/utils/gdmaskpass.c b/utils/gdmaskpass.c index 8c083a68..09f0eb0e 100644 --- a/utils/gdmaskpass.c +++ b/utils/gdmaskpass.c @@ -1,7 +1,7 @@ /* Simple pam thingie to ask the root password, for use in XKeepsCrashing * script. */ #include "config.h" -#include <gnome.h> +#include <libgnome/libgnome.h> #include <stdio.h> #include <locale.h> #include <unistd.h> |