From 381a9c26503a8082935882e42f626e030c558eb6 Mon Sep 17 00:00:00 2001 From: Adel Gadllah Date: Wed, 6 Mar 2013 08:54:32 +0100 Subject: [PATCH] core: Remove the eventqueue It is unused. https://bugzilla.gnome.org/show_bug.cgi?id=695269 --- src/Makefile.am | 2 - src/core/display-private.h | 2 - src/core/display.c | 2 - src/core/eventqueue.c | 184 ------------------------------------- src/core/eventqueue.h | 40 -------- 5 files changed, 230 deletions(-) delete mode 100644 src/core/eventqueue.c delete mode 100644 src/core/eventqueue.h diff --git a/src/Makefile.am b/src/Makefile.am index 86b36acbd..e2cec915e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -96,8 +96,6 @@ libmutter_la_SOURCES = \ core/edge-resistance.h \ core/errors.c \ meta/errors.h \ - core/eventqueue.c \ - core/eventqueue.h \ core/frame.c \ core/frame.h \ ui/gradient.c \ diff --git a/src/core/display-private.h b/src/core/display-private.h index c30d312af..3d8a8482e 100644 --- a/src/core/display-private.h +++ b/src/core/display-private.h @@ -33,7 +33,6 @@ #include #include -#include "eventqueue.h" #include #include #include @@ -142,7 +141,6 @@ struct _MetaDisplay /*< private-ish >*/ guint error_trap_synced_at_last_pop : 1; - MetaEventQueue *events; GSList *screens; MetaScreen *active_screen; GHashTable *xids; diff --git a/src/core/display.c b/src/core/display.c index 5a30885a2..2c53355f3 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -574,8 +574,6 @@ meta_display_open (void) sn_error_trap_push, sn_error_trap_pop); #endif - - the_display->events = NULL; /* Get events */ meta_ui_add_event_func (the_display->xdisplay, diff --git a/src/core/eventqueue.c b/src/core/eventqueue.c deleted file mode 100644 index 614315217..000000000 --- a/src/core/eventqueue.c +++ /dev/null @@ -1,184 +0,0 @@ -/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ - -/* Mutter X event source for main loop */ - -/* - * Copyright (C) 2001 Havoc Pennington (based on GDK code (C) Owen - * Taylor, Red Hat Inc.) - * - * 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. */ - -#include "eventqueue.h" -#include - -static gboolean eq_prepare (GSource *source, - gint *timeout); -static gboolean eq_check (GSource *source); -static gboolean eq_dispatch (GSource *source, - GSourceFunc callback, - gpointer user_data); -static void eq_destroy (GSource *source); - -static GSourceFuncs eq_funcs = { - eq_prepare, - eq_check, - eq_dispatch, - eq_destroy -}; - -struct _MetaEventQueue -{ - GSource source; - - Display *display; - GPollFD poll_fd; - int connection_fd; - GQueue *events; -}; - -MetaEventQueue* -meta_event_queue_new (Display *display, MetaEventQueueFunc func, gpointer data) -{ - GSource *source; - MetaEventQueue *eq; - - source = g_source_new (&eq_funcs, sizeof (MetaEventQueue)); - eq = (MetaEventQueue*) source; - - eq->connection_fd = ConnectionNumber (display); - eq->poll_fd.fd = eq->connection_fd; - eq->poll_fd.events = G_IO_IN; - - eq->events = g_queue_new (); - - eq->display = display; - - g_source_set_priority (source, G_PRIORITY_DEFAULT); - g_source_add_poll (source, &eq->poll_fd); - g_source_set_can_recurse (source, TRUE); - - g_source_set_callback (source, (GSourceFunc) func, data, NULL); - - g_source_attach (source, NULL); - g_source_unref (source); - - return eq; -} - -void -meta_event_queue_free (MetaEventQueue *eq) -{ - GSource *source; - - source = (GSource*) eq; - - g_source_destroy (source); -} - -static gboolean -eq_events_pending (MetaEventQueue *eq) -{ - return eq->events->length > 0 || XPending (eq->display); -} - -static void -eq_queue_events (MetaEventQueue *eq) -{ - XEvent xevent; - - while (XPending (eq->display)) - { - XEvent *copy; - - XNextEvent (eq->display, &xevent); - - copy = g_new (XEvent, 1); - *copy = xevent; - - g_queue_push_tail (eq->events, copy); - } -} - -static gboolean -eq_prepare (GSource *source, gint *timeout) -{ - MetaEventQueue *eq; - - eq = (MetaEventQueue*) source; - - *timeout = -1; - - return eq_events_pending (eq); -} - -static gboolean -eq_check (GSource *source) -{ - MetaEventQueue *eq; - - eq = (MetaEventQueue*) source; - - if (eq->poll_fd.revents & G_IO_IN) - return eq_events_pending (eq); - else - return FALSE; -} - -static gboolean -eq_dispatch (GSource *source, GSourceFunc callback, gpointer user_data) -{ - MetaEventQueue *eq; - - eq = (MetaEventQueue*) source; - - eq_queue_events (eq); - - if (eq->events->length > 0) - { - XEvent *event; - MetaEventQueueFunc func; - - event = g_queue_pop_head (eq->events); - func = (MetaEventQueueFunc) callback; - - (* func) (event, user_data); - - g_free (event); - } - - return TRUE; -} - -static void -eq_destroy (GSource *source) -{ - MetaEventQueue *eq; - - eq = (MetaEventQueue*) source; - - while (eq->events->length > 0) - { - XEvent *event; - - event = g_queue_pop_head (eq->events); - - g_free (event); - } - - g_queue_free (eq->events); - - /* source itself is freed by glib */ -} diff --git a/src/core/eventqueue.h b/src/core/eventqueue.h deleted file mode 100644 index 0eb679986..000000000 --- a/src/core/eventqueue.h +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ - -/* Mutter X event source for main loop */ - -/* - * Copyright (C) 2001 Havoc Pennington - * - * 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 META_EVENT_QUEUE_H -#define META_EVENT_QUEUE_H - -#include -#include - -typedef struct _MetaEventQueue MetaEventQueue; - -typedef void (* MetaEventQueueFunc) (XEvent *event, - gpointer data); - -MetaEventQueue* meta_event_queue_new (Display *display, - MetaEventQueueFunc func, - gpointer data); -void meta_event_queue_free (MetaEventQueue *eq); - -#endif