Browse Source

Imported Upstream version 1.1.0

upstream upstream/1.1.0
Nicolas Bourdaud 10 years ago
parent
commit
fefe855706
  1. 20
      configure
  2. 4
      configure.in
  3. 12
      debian/changelog
  4. 4
      debian/control
  5. 1928
      debian/libmuffin0.symbols
  6. 1
      debian/rules
  7. 27
      src/compositor/meta-shaped-texture.c
  8. 137
      src/compositor/meta-texture-rectangle.c
  9. 12
      src/compositor/meta-texture-rectangle.h
  10. 24
      src/compositor/meta-texture-tower.c
  11. 54
      src/compositor/meta-window-actor.c
  12. 13
      src/core/constraints.c
  13. 8
      src/core/display-private.h
  14. 5
      src/core/display.c
  15. 2
      src/core/stack-tracker.c
  16. 5
      src/core/window.c
  17. 8
      src/meta/display.h
  18. 4
      src/meta/meta-shaped-texture.h
  19. 4
      src/meta/workspace.h

20
configure

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for muffin 1.0.6.
# Generated by GNU Autoconf 2.68 for muffin 1.1.0.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=muffin>.
#
@ -571,8 +571,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='muffin'
PACKAGE_TARNAME='muffin'
PACKAGE_VERSION='1.0.6'
PACKAGE_STRING='muffin 1.0.6'
PACKAGE_VERSION='1.1.0'
PACKAGE_STRING='muffin 1.1.0'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=muffin'
PACKAGE_URL=''
@ -1441,7 +1441,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures muffin 1.0.6 to adapt to many kinds of systems.
\`configure' configures muffin 1.1.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1515,7 +1515,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of muffin 1.0.6:";;
short | recursive ) echo "Configuration of muffin 1.1.0:";;
esac
cat <<\_ACEOF
@ -1675,7 +1675,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
muffin configure 1.0.6
muffin configure 1.1.0
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@ -2222,7 +2222,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by muffin $as_me 1.0.6, which was
It was created by muffin $as_me 1.1.0, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@ -3042,7 +3042,7 @@ fi
# Define the identity of the package.
PACKAGE='muffin'
VERSION='1.0.6'
VERSION='1.1.0'
cat >>confdefs.h <<_ACEOF
@ -17944,7 +17944,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by muffin $as_me 1.0.6, which was
This file was extended by muffin $as_me 1.1.0, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -18010,7 +18010,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
muffin config.status 1.0.6
muffin config.status 1.1.0
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"

4
configure.in

@ -1,8 +1,8 @@
AC_PREREQ(2.50)
m4_define([muffin_major_version], [1])
m4_define([muffin_minor_version], [0])
m4_define([muffin_micro_version], [6])
m4_define([muffin_minor_version], [1])
m4_define([muffin_micro_version], [0])
m4_define([muffin_version],
[muffin_major_version.muffin_minor_version.muffin_micro_version])

12
debian/changelog

@ -1,3 +1,15 @@
muffin (1.1.0) maya; urgency=low
* 1.1.0
-- Clement Lefebvre <root@linuxmint.com> Mon, 17 Sep 2012 16:33:28 +0100
muffin (1.0.9) maya; urgency=low
* 1.0.9 (skipped 1.0.8 and 1.0.7 due to a git rebase)
-- Clement Lefebvre <root@linuxmint.com> Wed, 05 Sep 2012 23:55:04 +0100
muffin (1.0.6) maya; urgency=low
* 1.0.6

4
debian/control

@ -6,9 +6,7 @@
Source: muffin
Section: x11
Priority: optional
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Uploaders: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Maintainer: Linux Mint <root@linuxmint.com>
Build-Depends: cdbs (>= 0.4.90),
debhelper (>= 8),
dh-autoreconf,

1928
debian/libmuffin0.symbols

File diff suppressed because it is too large

1
debian/rules

@ -4,7 +4,6 @@ include /usr/share/cdbs/1/rules/autoreconf.mk
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/gnome.mk
include /usr/share/cdbs/1/rules/utils.mk
include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
include /usr/share/gnome-pkg-tools/1/rules/gnome-version.mk
-include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk

27
src/compositor/meta-shaped-texture.c

@ -250,7 +250,6 @@ meta_shaped_texture_ensure_mask (MetaShapedTexture *stex)
int i;
int n_rects;
int stride;
GLenum paint_gl_target;
/* If we have no shape region and no (or an empty) overlay region, we
* don't need to create a full mask texture, so quit early. */
@ -293,26 +292,14 @@ meta_shaped_texture_ensure_mask (MetaShapedTexture *stex)
install_overlay_path (stex, mask_data, tex_width, tex_height, stride);
cogl_texture_get_gl_texture (paint_tex, NULL, &paint_gl_target);
#ifdef GL_TEXTURE_RECTANGLE_ARB
if (paint_gl_target == GL_TEXTURE_RECTANGLE_ARB)
{
priv->mask_texture
= meta_texture_rectangle_new (tex_width, tex_height,
0, /* flags */
/* data format */
COGL_PIXEL_FORMAT_A_8,
/* internal GL format */
GL_ALPHA,
/* internal cogl format */
COGL_PIXEL_FORMAT_A_8,
/* rowstride */
stride,
mask_data);
}
if (meta_texture_rectangle_check (paint_tex))
priv->mask_texture = meta_texture_rectangle_new (tex_width, tex_height,
COGL_PIXEL_FORMAT_A_8,
COGL_PIXEL_FORMAT_A_8,
stride,
mask_data,
NULL /* error */);
else
#endif /* GL_TEXTURE_RECTANGLE_ARB */
priv->mask_texture = cogl_texture_new_from_data (tex_width, tex_height,
COGL_TEXTURE_NONE,
COGL_PIXEL_FORMAT_A_8,

137
src/compositor/meta-texture-rectangle.c

@ -5,7 +5,7 @@
*
* Authored By Neil Roberts <neil@linux.intel.com>
*
* Copyright (C) 2011 Intel Corporation
* Copyright (C) 2011, 2012 Intel Corporation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@ -25,94 +25,77 @@
#include <config.h>
#include "meta-texture-rectangle.h"
#ifdef GL_TEXTURE_RECTANGLE_ARB
#define CLUTTER_ENABLE_EXPERIMENTAL_API
#define COGL_ENABLE_EXPERIMENTAL_API
static void (* pf_glGetIntegerv) (GLenum pname, GLint *params);
static void (* pf_glTexImage2D) (GLenum target, GLint level,
GLint internalFormat,
GLsizei width, GLsizei height,
GLint border, GLenum format, GLenum type,
const GLvoid *pixels);
static void (* pf_glGenTextures) (GLsizei n, GLuint *textures);
static void (* pf_glDeleteTextures) (GLsizei n, const GLuint *texture);
static void (* pf_glBindTexture) (GLenum target, GLuint texture);
static void
rectangle_texture_destroy_cb (void *user_data)
{
GLuint tex = GPOINTER_TO_UINT (user_data);
pf_glDeleteTextures (1, &tex);
}
#endif /* GL_TEXTURE_RECTANGLE_ARB */
#include <clutter/clutter.h>
#include "meta-texture-rectangle.h"
CoglHandle
CoglTexture *
meta_texture_rectangle_new (unsigned int width,
unsigned int height,
CoglTextureFlags flags,
CoglPixelFormat format,
GLenum internal_gl_format,
GLenum internal_format,
CoglPixelFormat internal_format,
unsigned int rowstride,
const guint8 *data)
const guint8 *data,
GError **error)
{
CoglHandle cogl_tex = COGL_INVALID_HANDLE;
#ifdef GL_TEXTURE_RECTANGLE_ARB
static CoglUserDataKey user_data_key;
GLint old_binding;
GLuint tex;
if (pf_glGenTextures == NULL)
{
pf_glGetIntegerv = (void *) cogl_get_proc_address ("glGetIntegerv");
pf_glTexImage2D = (void *) cogl_get_proc_address ("glTexImage2D");
pf_glGenTextures = (void *) cogl_get_proc_address ("glGenTextures");
pf_glDeleteTextures = (void *) cogl_get_proc_address ("glDeleteTextures");
pf_glBindTexture = (void *) cogl_get_proc_address ("glBindTexture");
}
pf_glGenTextures (1, &tex);
pf_glGetIntegerv (GL_TEXTURE_BINDING_RECTANGLE_ARB, &old_binding);
pf_glBindTexture (GL_TEXTURE_RECTANGLE_ARB, tex);
pf_glTexImage2D (GL_TEXTURE_RECTANGLE_ARB, 0,
internal_gl_format, width, height,
0, internal_gl_format,
GL_UNSIGNED_BYTE, NULL);
pf_glBindTexture (GL_TEXTURE_RECTANGLE_ARB, old_binding);
ClutterBackend *backend =
clutter_get_default_backend ();
CoglContext *context =
clutter_backend_get_cogl_context (backend);
CoglTextureRectangle *tex_rect;
tex_rect = cogl_texture_rectangle_new_with_size (context,
width, height,
internal_format,
error);
if (tex_rect == NULL)
return NULL;
cogl_tex = cogl_texture_new_from_foreign (tex,
GL_TEXTURE_RECTANGLE_ARB,
width, height,
0, 0, /* no waste */
internal_format);
/* Cogl won't destroy the GL texture when a foreign texture is used
so we need to destroy it manually. We can set a destroy
notification callback to do this transparently */
cogl_object_set_user_data (cogl_tex,
&user_data_key,
GUINT_TO_POINTER (tex),
rectangle_texture_destroy_cb);
/* Use cogl_texture_set_region instead of uploading the data
directly with GL calls so that we can let Cogl deal with setting
the pixel store parameters and handling format conversion */
if (data)
cogl_texture_set_region (cogl_tex,
0, 0, /* src x/y */
0, 0, /* dst x/y */
width, height, /* dst width/height */
width, height, /* src width/height */
cogl_texture_set_region (COGL_TEXTURE (tex_rect),
0, 0, /* src_x/y */
0, 0, /* dst_x/y */
width, height, /* dst_width/height */
width, height, /* width/height */
format,
rowstride,
data);
#endif /* GL_TEXTURE_RECTANGLE_ARB */
return COGL_TEXTURE (tex_rect);
}
static void
texture_rectangle_check_cb (CoglTexture *sub_texture,
const float *sub_texture_coords,
const float *meta_coords,
void *user_data)
{
gboolean *result = user_data;
if (cogl_is_texture_rectangle (sub_texture))
*result = TRUE;
}
/* Determines if the given texture is using a rectangle texture as its
* primitive texture type. Eventually this function could be replaced
* with cogl_texture_get_type if Cogl makes that public.
*
* http://git.gnome.org/browse/cogl/commit/?h=8012eee31
*/
gboolean
meta_texture_rectangle_check (CoglTexture *texture)
{
gboolean result = FALSE;
cogl_meta_texture_foreach_in_region (COGL_META_TEXTURE (texture),
0.0f, 0.0f, /* tx_1 / ty_1 */
1.0f, 1.0f, /* tx_2 / ty_2 */
COGL_PIPELINE_WRAP_MODE_REPEAT,
COGL_PIPELINE_WRAP_MODE_REPEAT,
texture_rectangle_check_cb,
&result);
return cogl_tex;
return result;
}

12
src/compositor/meta-texture-rectangle.h

@ -30,15 +30,17 @@
G_BEGIN_DECLS
CoglHandle
CoglTexture *
meta_texture_rectangle_new (unsigned int width,
unsigned int height,
CoglTextureFlags flags,
CoglPixelFormat format,
GLenum internal_gl_format,
GLenum internal_format,
CoglPixelFormat internal_format,
unsigned int rowstride,
const guint8 *data);
const guint8 *data,
GError **error);
gboolean
meta_texture_rectangle_check (CoglTexture *texture);
G_END_DECLS

24
src/compositor/meta-texture-tower.c

@ -98,18 +98,6 @@ meta_texture_tower_free (MetaTextureTower *tower)
g_slice_free (MetaTextureTower, tower);
}
#ifdef GL_TEXTURE_RECTANGLE_ARB
static gboolean
texture_is_rectangle (CoglHandle texture)
{
GLuint gl_tex;
GLenum gl_target;
cogl_texture_get_gl_texture (texture, &gl_tex, &gl_target);
return gl_target == GL_TEXTURE_RECTANGLE_ARB;
}
#endif /* GL_TEXTURE_RECTANGLE_ARB */
/**
* meta_texture_tower_set_base_texture:
* @tower: a #MetaTextureTower
@ -354,13 +342,11 @@ get_paint_level (int width, int height)
return (int)(0.5 + lambda);
}
#ifdef GL_TEXTURE_RECTANGLE_ARB
static gboolean
is_power_of_two (int x)
{
return (x & (x - 1)) == 0;
}
#endif /* GL_TEXTURE_RECTANGLE_ARB */
static void
texture_tower_create_texture (MetaTextureTower *tower,
@ -368,25 +354,23 @@ texture_tower_create_texture (MetaTextureTower *tower,
int width,
int height)
{
#ifdef GL_TEXTURE_RECTANGLE_ARB
if ((!is_power_of_two (width) || !is_power_of_two (height)) &&
texture_is_rectangle (tower->textures[level - 1]))
meta_texture_rectangle_check (tower->textures[level - 1]))
{
tower->textures[level] =
meta_texture_rectangle_new (width, height,
0, /* flags */
/* data format */
TEXTURE_FORMAT,
/* internal GL format */
GL_RGBA,
/* internal cogl format */
TEXTURE_FORMAT,
/* rowstride */
width * 4,
/* data */
NULL,
/* error */
NULL);
}
else
#endif /* GL_TEXTURE_RECTANGLE_ARB */
{
tower->textures[level] = cogl_texture_new_with_size (width, height,
COGL_TEXTURE_NO_AUTO_MIPMAP,

54
src/compositor/meta-window-actor.c

@ -756,11 +756,7 @@ meta_window_actor_has_shadow (MetaWindowActor *self)
if (priv->window)
{
if (meta_window_get_frame (priv->window))
{
meta_verbose ("Window 0x%x has shadow because it has a frame\n",
(guint)priv->xwindow);
return TRUE;
}
return TRUE;
}
/*
@ -768,55 +764,31 @@ meta_window_actor_has_shadow (MetaWindowActor *self)
* shadow from the input shape for such windows.
*/
if (priv->argb32 || priv->opacity != 0xff)
{
meta_verbose ("Window 0x%x has no shadow as it is ARGB\n",
(guint)priv->xwindow);
return FALSE;
}
return FALSE;
/*
* Add shadows to override redirect windows (e.g., Gtk menus).
*/
if (priv->window->override_redirect)
{
meta_verbose ("Window 0x%x has shadow because it is override redirect.\n",
(guint)priv->xwindow);
return TRUE;
}
return TRUE;
/*
* Don't put shadow around DND icon windows
*/
if (window_type == META_WINDOW_DND ||
window_type == META_WINDOW_DESKTOP)
{
meta_verbose ("Window 0x%x has no shadow as it is DND or Desktop\n",
(guint)priv->xwindow);
return FALSE;
}
return FALSE;
if (window_type == META_WINDOW_MENU
#if 0
|| window_type == META_WINDOW_DROPDOWN_MENU
#endif
)
{
meta_verbose ("Window 0x%x has shadow as it is a menu\n",
(guint)priv->xwindow);
return TRUE;
}
return TRUE;
#if 0
if (window_type == META_WINDOW_TOOLTIP)
{
meta_verbose ("Window 0x%x has shadow as it is a tooltip\n",
(guint)priv->xwindow);
return TRUE;
}
return TRUE;
#endif
meta_verbose ("Window 0x%x has no shadow as it fell through\n",
(guint)priv->xwindow);
return FALSE;
}
@ -1510,7 +1482,6 @@ meta_window_actor_new (MetaWindow *window)
Window top_window;
MetaRectangle rectWorkArea[1];
MetaRectangle *rectWindow;
int tooltipMoved = FALSE;
frame = meta_window_get_frame (window);
if (frame)
@ -1550,23 +1521,14 @@ meta_window_actor_new (MetaWindow *window)
// move tooltip out of top panel if necessary
if (rectWindow->y < rectWorkArea->y) {
meta_window_move(window, FALSE, rectWindow->x, rectWorkArea->y);
tooltipMoved = TRUE;
}
rectWindow = meta_window_get_rect(window);
// move tooltip out of bottom panel if necessary
if ((rectWindow->y + rectWindow->height) > (rectWorkArea->y + rectWorkArea->height)) {
meta_window_move(window, FALSE, rectWindow->x, rectWorkArea->y + rectWorkArea->height - rectWindow->height);
tooltipMoved = TRUE;
}
if (tooltipMoved) {
clutter_container_add_actor (CLUTTER_CONTAINER (info->window_group),
CLUTTER_ACTOR (self));
}
else {
clutter_container_add_actor (CLUTTER_CONTAINER (info->top_window_group),
CLUTTER_ACTOR (self));
}
clutter_container_add_actor (CLUTTER_CONTAINER (info->top_window_group),
CLUTTER_ACTOR (self));
}else{
clutter_container_add_actor (CLUTTER_CONTAINER (info->window_group),
CLUTTER_ACTOR (self));

13
src/core/constraints.c

@ -119,6 +119,7 @@ typedef struct
MetaRectangle orig;
MetaRectangle current;
MetaFrameBorders *borders;
gboolean must_free_borders;
ActionType action_type;
gboolean is_user_action;
@ -337,7 +338,7 @@ meta_window_constrain (MetaWindow *window,
* not gobject-style--gobject would be more pain than it's worth) or
* smart pointers would be so much nicer here. *shrug*
*/
if (!orig_borders)
if (info.must_free_borders)
g_free (info.borders);
}
@ -358,9 +359,15 @@ setup_constraint_info (ConstraintInfo *info,
/* Create a fake frame geometry if none really exists */
if (orig_borders && !window->fullscreen)
info->borders = orig_borders;
{
info->borders = orig_borders;
info->must_free_borders = FALSE;
}
else
info->borders = g_new0 (MetaFrameBorders, 1);
{
info->borders = g_new0 (MetaFrameBorders, 1);
info->must_free_borders = TRUE;
}
if (flags & META_IS_MOVE_ACTION && flags & META_IS_RESIZE_ACTION)
info->action_type = ACTION_MOVE_AND_RESIZE;

8
src/core/display-private.h

@ -61,11 +61,6 @@ typedef void (* MetaWindowPingFunc) (MetaDisplay *display,
guint32 timestamp,
gpointer user_data);
typedef enum {
META_LIST_DEFAULT = 0, /* normal windows */
META_LIST_INCLUDE_OVERRIDE_REDIRECT = 1 << 0, /* normal and O-R */
} MetaListWindowsFlags;
#define _NET_WM_STATE_REMOVE 0 /* remove/unset property */
#define _NET_WM_STATE_ADD 1 /* add/set property */
#define _NET_WM_STATE_TOGGLE 2 /* toggle property */
@ -366,9 +361,6 @@ void meta_display_unregister_x_window (MetaDisplay *display,
void meta_display_notify_window_created (MetaDisplay *display,
MetaWindow *window);
GSList* meta_display_list_windows (MetaDisplay *display,
MetaListWindowsFlags flags);
MetaDisplay* meta_display_for_x_display (Display *xdisplay);
MetaDisplay* meta_get_display (void);

5
src/core/display.c

@ -475,6 +475,8 @@ meta_display_open (void)
buf[sizeof(buf)-1] = '\0';
the_display->hostname = g_strdup (buf);
}
else
the_display->hostname = NULL;
the_display->error_trap_synced_at_last_pop = TRUE;
the_display->error_traps = 0;
the_display->error_trap_handler = NULL;
@ -925,7 +927,7 @@ ptrcmp (gconstpointer a, gconstpointer b)
* now determines whether override-redirect windows will be
* included.
*
* Return value: (transfer container): the list of windows.
* Return value: (transfer container) (element-type MetaWindow): the list of windows.
*/
GSList*
meta_display_list_windows (MetaDisplay *display,
@ -1052,6 +1054,7 @@ meta_display_close (MetaDisplay *display,
meta_display_free_window_prop_hooks (display);
meta_display_free_group_prop_hooks (display);
g_free (display->hostname);
g_free (display->name);
meta_display_shutdown_keys (display);

2
src/core/stack-tracker.c

@ -394,6 +394,8 @@ meta_stack_tracker_free (MetaStackTracker *tracker)
g_queue_foreach (tracker->queued_requests, (GFunc)meta_stack_op_free, NULL);
g_queue_free (tracker->queued_requests);
tracker->queued_requests = NULL;
g_free (tracker);
}
static void

5
src/core/window.c

@ -3654,8 +3654,9 @@ meta_window_tile (MetaWindow *window)
{
MetaMaximizeFlags directions;
/* Don't do anything if no tiling is requested */
if (window->tile_mode == META_TILE_NONE)
/* Don't do anything if no tiling is requested or we're already tiled */
if (window->tile_mode == META_TILE_NONE || window->maximized_vertically ||
window->maximized_horizontally )
return;
if (window->tile_mode == META_TILE_MAXIMIZED)

8
src/meta/display.h

@ -64,6 +64,11 @@ typedef enum
#undef item
}MetaAtom;
typedef enum {
META_LIST_DEFAULT = 0, /* normal windows */
META_LIST_INCLUDE_OVERRIDE_REDIRECT = 1 << 0, /* normal and O-R */
} MetaListWindowsFlags;
void meta_display_get_compositor_version (MetaDisplay *display,
int *major,
int *minor);
@ -77,6 +82,9 @@ MetaScreen *meta_display_screen_for_root (MetaDisplay *display,
Window xroot);
MetaWindow *meta_display_get_focus_window (MetaDisplay *display);
GSList* meta_display_list_windows (MetaDisplay *display,
MetaListWindowsFlags flags);
gboolean meta_display_xwindow_is_a_no_focus_window (MetaDisplay *display,
Window xwindow);

4
src/meta/meta-shaped-texture.h

@ -19,8 +19,8 @@
*
* 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.
* Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
* 02110-1335, USA.
*/
#ifndef __META_SHAPED_TEXTURE_H__

4
src/meta/workspace.h

@ -16,8 +16,8 @@
*
* 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.
* Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA
* 02110-1335, USA.
*/
#ifndef META_WORKSPACE_H

Loading…
Cancel
Save