[maemo-commits] [maemo-commits] r19157 - in projects/haf/trunk/libmatchbox2: . matchbox/client-types matchbox/core
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Aug 19 15:49:22 EEST 2009
- Previous message: [maemo-commits] r19156 - projects/haf/trunk/ke-recv/src
- Next message: [maemo-commits] r19158 - in projects/haf/trunk/ke-recv: debian src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: aendrodi Date: 2009-08-19 15:48:57 +0300 (Wed, 19 Aug 2009) New Revision: 19157 Modified: projects/haf/trunk/libmatchbox2/ChangeLog projects/haf/trunk/libmatchbox2/matchbox/client-types/mb-wm-client-menu.c projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-atoms.c projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.c projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.h projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-object.c projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-object.h Log: Made frequently used functions inline. Based on measurements this saves hundreds of function calls during a map. * matchbox/core/mb-wm-atoms.c * matchbox/core/mb-wm-object.c * matchbox/core/mb-wm-object.h: Replaced mb_wm_object_get_class() with MB_WM_OBJECT_GET_CLASS(). * matchbox/core/mb-wm-client.h: Made mb_wm_client_get_layout_hints() and mb_wm_client_get_transient_for() inline. * matchbox/core/mb-wm-client.c: Use MB_WM_OBJECT_GET_CLASS(). * matchbox/client-types/mb-wm-client-menu.c: Likewise. Be sure to rebuild your hd. Modified: projects/haf/trunk/libmatchbox2/ChangeLog =================================================================== --- projects/haf/trunk/libmatchbox2/ChangeLog 2009-08-19 12:19:57 UTC (rev 19156) +++ projects/haf/trunk/libmatchbox2/ChangeLog 2009-08-19 12:48:57 UTC (rev 19157) @@ -1,3 +1,22 @@ +2009-08-19 Adam Endrodi <adam.endrodi at blumsoft.eu> + + Made frequently used functions inline. Based on measurements + this saves hundreds of function calls during a map. + + * matchbox/core/mb-wm-atoms.c + * matchbox/core/mb-wm-object.c + * matchbox/core/mb-wm-object.h: + Replaced mb_wm_object_get_class() with MB_WM_OBJECT_GET_CLASS(). + * matchbox/core/mb-wm-client.h: + Made mb_wm_client_get_layout_hints() and + mb_wm_client_get_transient_for() inline. + * matchbox/core/mb-wm-client.c: + Use MB_WM_OBJECT_GET_CLASS(). + * matchbox/client-types/mb-wm-client-menu.c: + Likewise. + + Be sure to rebuild your hd. + 2009-08-19 Kimmo Hämäläinen <kimmo.hamalainen at nokia.com> Release 0.2.57 Modified: projects/haf/trunk/libmatchbox2/matchbox/client-types/mb-wm-client-menu.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/client-types/mb-wm-client-menu.c 2009-08-19 12:19:57 UTC (rev 19156) +++ projects/haf/trunk/libmatchbox2/matchbox/client-types/mb-wm-client-menu.c 2009-08-19 12:48:57 UTC (rev 19157) @@ -100,8 +100,7 @@ geom = client->window->geometry; - if (((MBWindowManagerClientClass*)mb_wm_object_get_class(this))->client_type - != MBWMClientTypeMenu) + if (MB_WM_CLIENT_CLIENT_TYPE (this) != MBWMClientTypeMenu) { /* new-style menu */ Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-atoms.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-atoms.c 2009-08-19 12:19:57 UTC (rev 19156) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-atoms.c 2009-08-19 12:48:57 UTC (rev 19157) @@ -9,7 +9,7 @@ * Doing it like this avoids a mass of round trips on startup. */ - char *atom_names[] = { + static char *atom_names[] = { "WM_NAME", "WM_STATE", Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.c 2009-08-19 12:19:57 UTC (rev 19156) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.c 2009-08-19 12:48:57 UTC (rev 19157) @@ -338,7 +338,7 @@ if (client->priv->realized) return; - klass = MB_WM_CLIENT_CLASS(mb_wm_object_get_class (MB_WM_OBJECT(client))); + klass = MB_WM_CLIENT_CLASS (MB_WM_OBJECT_GET_CLASS (client)); if (klass->realize) klass->realize(client); @@ -362,7 +362,7 @@ { MBWindowManagerClientClass *klass; - klass = MB_WM_CLIENT_CLASS(mb_wm_object_get_class (MB_WM_OBJECT(client))); + klass = MB_WM_CLIENT_CLASS (MB_WM_OBJECT_GET_CLASS (client)); if (klass->stack) { @@ -385,7 +385,7 @@ { MBWindowManagerClientClass *klass; - klass = MB_WM_CLIENT_CLASS(mb_wm_object_get_class (MB_WM_OBJECT(client))); + klass = MB_WM_CLIENT_CLASS (MB_WM_OBJECT_GET_CLASS (client)); if (klass->show) klass->show (client); @@ -405,7 +405,7 @@ { MBWindowManagerClientClass *klass; - klass = MB_WM_CLIENT_CLASS(mb_wm_object_get_class (MB_WM_OBJECT(client))); + klass = MB_WM_CLIENT_CLASS (MB_WM_OBJECT_GET_CLASS (client)); if (klass->hide) klass->hide (client); @@ -431,7 +431,7 @@ MBWindowManagerClientClass *klass; Bool ret = False; - klass = MB_WM_CLIENT_CLASS(mb_wm_object_get_class (MB_WM_OBJECT(client))); + klass = MB_WM_CLIENT_CLASS (MB_WM_OBJECT_GET_CLASS (client)); if (klass->focus) ret = klass->focus(client); @@ -496,7 +496,7 @@ { MBWindowManagerClientClass *klass; - klass = MB_WM_CLIENT_CLASS(mb_wm_object_get_class (MB_WM_OBJECT(client))); + klass = MB_WM_CLIENT_CLASS (MB_WM_OBJECT_GET_CLASS (client)); if (klass->sync) klass->sync (client); @@ -512,7 +512,7 @@ { MBWindowManagerClientClass *klass; - klass = MB_WM_CLIENT_CLASS(mb_wm_object_get_class (MB_WM_OBJECT(client))); + klass = MB_WM_CLIENT_CLASS (MB_WM_OBJECT_GET_CLASS (client)); if (klass->geometry) return klass->geometry(client, new_geometry, flags); @@ -520,20 +520,6 @@ return False; } -MBWMClientLayoutHints -mb_wm_client_get_layout_hints (MBWindowManagerClient *client) -{ - if ((client->window->ewmh_state & MBWMClientWindowEWMHStateFullscreen)) - { - if (client->layout_hints & LayoutPrefVisible) - return (LayoutPrefFullscreen | LayoutPrefVisible); - else - return LayoutPrefFullscreen; - } - - return client->layout_hints; -} - void mb_wm_client_set_layout_hints (MBWindowManagerClient *client, MBWMClientLayoutHints hints) @@ -727,13 +713,7 @@ return trans; } -MBWindowManagerClient* -mb_wm_client_get_transient_for (MBWindowManagerClient *client) -{ - return client->transient_for; -} - /* * Returns TRUE iff the named client is a system-modal dialogue. * @@ -1013,7 +993,7 @@ { MBWindowManagerClientClass *klass; - klass = MB_WM_CLIENT_CLASS(mb_wm_object_get_class (MB_WM_OBJECT(client))); + klass = MB_WM_CLIENT_CLASS (MB_WM_OBJECT_GET_CLASS (client)); if (klass->theme_change) klass->theme_change (client); @@ -1032,7 +1012,7 @@ if (!client->transient_for) return; - klass = MB_WM_CLIENT_CLASS(mb_wm_object_get_class (MB_WM_OBJECT(client))); + klass = MB_WM_CLIENT_CLASS (MB_WM_OBJECT_GET_CLASS (client)); if (klass->detransitise) klass->detransitise (client); @@ -1126,7 +1106,7 @@ { MBWindowManagerClientClass *klass; - klass = MB_WM_CLIENT_CLASS(mb_wm_object_get_class (MB_WM_OBJECT(client))); + klass = MB_WM_CLIENT_CLASS (MB_WM_OBJECT_GET_CLASS (client)); if (klass->stacking_layer) return klass->stacking_layer (client); Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.h =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.h 2009-08-19 12:19:57 UTC (rev 19156) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.h 2009-08-19 12:48:57 UTC (rev 19157) @@ -293,7 +293,7 @@ mb_wm_client_get_coverage (MBWindowManagerClient *client, MBGeometry *coverage); -MBWMClientLayoutHints +static MBWMClientLayoutHints mb_wm_client_get_layout_hints (MBWindowManagerClient *client); void @@ -343,7 +343,7 @@ MBWMList* mb_wm_client_get_transients (MBWindowManagerClient *client); -MBWindowManagerClient* +static MBWindowManagerClient* mb_wm_client_get_transient_for (MBWindowManagerClient *client); gboolean @@ -436,4 +436,18 @@ Bool mb_wm_client_covers_screen (MBWindowManagerClient * client); +static inline MBWMClientLayoutHints +mb_wm_client_get_layout_hints (MBWindowManagerClient *client) +{ + return (client->window->ewmh_state & MBWMClientWindowEWMHStateFullscreen) + ? LayoutPrefFullscreen | (client->layout_hints & LayoutPrefVisible) + : client->layout_hints; +} + +static inline MBWindowManagerClient* +mb_wm_client_get_transient_for (MBWindowManagerClient *client) +{ + return client->transient_for; +} + #endif Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-object.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-object.c 2009-08-19 12:19:57 UTC (rev 19156) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-object.c 2009-08-19 12:48:57 UTC (rev 19157) @@ -320,12 +320,6 @@ return obj; } -const MBWMObjectClass* -mb_wm_object_get_class (MBWMObject *this) -{ - return this->klass; -} - unsigned long mb_wm_object_signal_connect (MBWMObject *obj, unsigned long signal, Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-object.h =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-object.h 2009-08-19 12:19:57 UTC (rev 19156) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-object.h 2009-08-19 12:48:57 UTC (rev 19157) @@ -35,9 +35,9 @@ #define MB_WM_OBJECT(x) ((MBWMObject*)(x)) #define MB_WM_OBJECT_CLASS(x) ((MBWMObjectClass*)(x)) #define MB_WM_OBJECT_TYPE(x) (((MBWMObject*)(x))->klass->type) -#define MB_WM_OBJECT_GET_CLASS(x) (mb_wm_object_get_class (MB_WM_OBJECT(x))) +#define MB_WM_OBJECT_GET_CLASS(x) (MB_WM_OBJECT(x)->klass) #define MB_WM_OBJECT_GET_PARENT_CLASS(x) \ - ((mb_wm_object_get_class (MB_WM_OBJECT(x)))->parent) + ((MB_WM_OBJECT_GET_CLASS (MB_WM_OBJECT(x)))->parent) #define MB_WM_OBJECT_PARENT_TYPE(x) (MB_WM_OBJECT_GET_PARENT_CLASS(x)->type) typedef enum MBWMObjectClassType @@ -119,9 +119,6 @@ MBWMObject* mb_wm_object_new (int type, ...); -const MBWMObjectClass* -mb_wm_object_get_class (MBWMObject *this); - unsigned long mb_wm_object_signal_connect (MBWMObject *obj, unsigned long signal,
- Previous message: [maemo-commits] r19156 - projects/haf/trunk/ke-recv/src
- Next message: [maemo-commits] r19158 - in projects/haf/trunk/ke-recv: debian src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]