Commit ddaa0b48 authored by Martin Nordholts's avatar Martin Nordholts

s/temp_buf_data/temp_buf_get_data/

* app/base/pixel-region.c
* app/base/temp-buf.c
* app/base/temp-buf.h
* app/core/gimpbrush-load.c
* app/core/gimpbrush-scale.c
* app/core/gimpbrush.c
* app/core/gimpbrushgenerated.c
* app/core/gimpgradient.c
* app/core/gimpimage.c
* app/core/gimppalette.c
* app/core/gimppattern-load.c
* app/core/gimppattern.c
* app/core/gimppreviewcache.c
* app/core/gimpviewable.c
* app/paint-funcs/paint-funcs-generic.h
* app/paint/gimpbrushcore.c
* app/paint/gimpclone.c
* app/paint/gimperaser.c
* app/paint/gimpheal.c
* app/paint/gimpink.c
* app/paint/gimppaintbrush.c
* app/pdb/brush-cmds.c
* app/pdb/brushes-cmds.c
* app/pdb/drawable-cmds.c
* app/pdb/image-cmds.c
* app/pdb/pattern-cmds.c
* app/pdb/patterns-cmds.c
* app/text/gimpfont.c
* app/tools/gimpiscissorstool.c
* app/vectors/gimpvectors-preview.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimppatternselect.c
* app/widgets/gimpviewrenderer.c

svn path=/trunk/; revision=27782
parent 70ed5218
2008-12-13 Martin Nordholts <martinn@svn.gnome.org>
s/temp_buf_data/temp_buf_get_data/
* app/base/pixel-region.c
* app/base/temp-buf.c
* app/base/temp-buf.h
* app/core/gimpbrush-load.c
* app/core/gimpbrush-scale.c
* app/core/gimpbrush.c
* app/core/gimpbrushgenerated.c
* app/core/gimpgradient.c
* app/core/gimpimage.c
* app/core/gimppalette.c
* app/core/gimppattern-load.c
* app/core/gimppattern.c
* app/core/gimppreviewcache.c
* app/core/gimpviewable.c
* app/paint-funcs/paint-funcs-generic.h
* app/paint/gimpbrushcore.c
* app/paint/gimpclone.c
* app/paint/gimperaser.c
* app/paint/gimpheal.c
* app/paint/gimpink.c
* app/paint/gimppaintbrush.c
* app/pdb/brush-cmds.c
* app/pdb/brushes-cmds.c
* app/pdb/drawable-cmds.c
* app/pdb/image-cmds.c
* app/pdb/pattern-cmds.c
* app/pdb/patterns-cmds.c
* app/text/gimpfont.c
* app/tools/gimpiscissorstool.c
* app/vectors/gimpvectors-preview.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimppatternselect.c
* app/widgets/gimpviewrenderer.c
2008-12-12 Martin Nordholts <martinn@svn.gnome.org>
Bug 555954 Merge Tagging of Gimp Resources GSoC Project
......
......@@ -76,7 +76,7 @@ pixel_region_init_temp_buf (PixelRegion *PR,
gint w,
gint h)
{
PR->data = temp_buf_data (temp_buf);
PR->data = temp_buf_get_data (temp_buf);
PR->tiles = NULL;
PR->curtile = NULL;
PR->offx = 0;
......
......@@ -144,7 +144,7 @@ temp_buf_new_check (gint width,
gimp_checks_get_shades (check_type, &check_light, &check_dark);
new = temp_buf_new (width, height, 3, 0, 0, NULL);
data = temp_buf_data (new);
data = temp_buf_get_data (new);
for (y = 0; y < height; y++)
{
......@@ -194,8 +194,8 @@ temp_buf_copy (TempBuf *src,
}
else
{
memcpy (temp_buf_data (dest),
temp_buf_data (src),
memcpy (temp_buf_get_data (dest),
temp_buf_get_data (src),
src->width * src->height * src->bytes);
}
......@@ -256,8 +256,8 @@ temp_buf_scale (TempBuf *src,
src->bytes,
0, 0, NULL);
src_data = temp_buf_data (src);
dest_data = temp_buf_data (dest);
src_data = temp_buf_get_data (src);
dest_data = temp_buf_get_data (dest);
x_ratio = (gdouble) src->width / (gdouble) new_width;
y_ratio = (gdouble) src->height / (gdouble) new_height;
......@@ -364,7 +364,7 @@ temp_buf_demultiply (TempBuf *buf)
break;
case 2:
data = temp_buf_data (buf);
data = temp_buf_get_data (buf);
pixels = buf->width * buf->height;
while (pixels--)
{
......@@ -378,7 +378,7 @@ temp_buf_demultiply (TempBuf *buf)
break;
case 4:
data = temp_buf_data (buf);
data = temp_buf_get_data (buf);
pixels = buf->width * buf->height;
while (pixels--)
{
......@@ -408,7 +408,7 @@ temp_buf_free (TempBuf *buf)
}
guchar *
temp_buf_data (TempBuf *buf)
temp_buf_get_data (TempBuf *buf)
{
return buf->data;
}
......@@ -441,8 +441,8 @@ temp_buf_to_color (TempBuf *src_buf,
guchar *dest;
glong num_pixels;
src = temp_buf_data (src_buf);
dest = temp_buf_data (dest_buf);
src = temp_buf_get_data (src_buf);
dest = temp_buf_get_data (dest_buf);
num_pixels = src_buf->width * src_buf->height;
......@@ -488,8 +488,8 @@ temp_buf_to_gray (TempBuf *src_buf,
guchar *dest;
glong num_pixels;
src = temp_buf_data (src_buf);
dest = temp_buf_data (dest_buf);
src = temp_buf_get_data (src_buf);
dest = temp_buf_get_data (dest_buf);
num_pixels = src_buf->width * src_buf->height;
......
......@@ -27,7 +27,7 @@ struct _TempBuf
gint height;
gint x, y; /* origin of data source */
guchar *data; /* The data buffer. Do never access this field
directly, use temp_buf_data() instead !! */
directly, use temp_buf_get_data() instead !! */
};
......@@ -66,7 +66,7 @@ TempBuf * temp_buf_copy_area (TempBuf *src,
void temp_buf_demultiply (TempBuf *buf);
void temp_buf_free (TempBuf *buf);
guchar * temp_buf_data (TempBuf *buf);
guchar * temp_buf_get_data (TempBuf *buf);
guchar * temp_buf_data_clear (TempBuf *buf);
gsize temp_buf_get_memsize (TempBuf *buf);
......
......@@ -290,7 +290,7 @@ gimp_brush_load_brush (gint fd,
brush->mask = temp_buf_new (header.width, header.height, 1, 0, 0, NULL);
mask = temp_buf_data (brush->mask);
mask = temp_buf_get_data (brush->mask);
size = header.width * header.height * header.bytes;
switch (header.bytes)
......@@ -344,7 +344,7 @@ gimp_brush_load_brush (gint fd,
brush->pixmap = temp_buf_new (header.width, header.height,
3, 0, 0, NULL);
pixmap = temp_buf_data (brush->pixmap);
pixmap = temp_buf_get_data (brush->pixmap);
for (i = 0; success && i < size;)
{
......@@ -647,7 +647,7 @@ gimp_brush_load_abr_brush_v12 (FILE *file,
brush->y_axis.y = height / 2.0;
brush->mask = temp_buf_new (width, height, 1, 0, 0, NULL);
mask = temp_buf_data (brush->mask);
mask = temp_buf_get_data (brush->mask);
size = width * height * bytes;
compress = abr_read_char (file);
......@@ -753,7 +753,7 @@ gimp_brush_load_abr_brush_v6 (FILE *file,
brush->y_axis.y = height / 2.0;
brush->mask = temp_buf_new (width, height, 1, 0, 0, NULL);
mask = temp_buf_data (brush->mask);
mask = temp_buf_get_data (brush->mask);
/* data decoding */
if (! compress)
......
......@@ -159,8 +159,8 @@ gimp_brush_scale_mask_down (TempBuf *brush_mask,
g_return_val_if_fail (scale_brush != NULL, NULL);
/* get the data */
dest = temp_buf_data (scale_brush);
src = temp_buf_data (brush_mask);
dest = temp_buf_get_data (scale_brush);
src = temp_buf_get_data (brush_mask);
fx = fx0 = (src_width << 8) / dest_width;
fy = fy0 = (src_height << 8) / dest_height;
......@@ -318,8 +318,8 @@ gimp_brush_scale_pixmap_down (TempBuf *pixmap,
g_return_val_if_fail (scale_brush != NULL, NULL);
/* get the data */
dest = temp_buf_data (scale_brush);
src = temp_buf_data (pixmap);
dest = temp_buf_get_data (scale_brush);
src = temp_buf_get_data (pixmap);
fx = fx0 = (src_width << 8) / dest_width;
fy = fy0 = (src_height << 8) / dest_height;
......
......@@ -280,12 +280,12 @@ gimp_brush_get_new_preview (GimpViewable *viewable,
return_buf = temp_buf_new (mask_width, mask_height, 4, 0, 0, transp);
mask = temp_buf_data (mask_buf);
buf = temp_buf_data (return_buf);
mask = temp_buf_get_data (mask_buf);
buf = temp_buf_get_data (return_buf);
if (pixmap_buf)
{
guchar *pixmap = temp_buf_data (pixmap_buf);
guchar *pixmap = temp_buf_get_data (pixmap_buf);
for (y = 0; y < mask_height; y++)
{
......
......@@ -429,7 +429,7 @@ gimp_brush_generated_calc (GimpBrushGenerated *brush,
half_height * 2 + 1,
1, half_width, half_height, NULL);
centerp = temp_buf_data (mask) + half_height * mask->width + half_width;
centerp = temp_buf_get_data (mask) + half_height * mask->width + half_width;
lookup = gimp_brush_generated_calc_lut (radius, hardness);
......
......@@ -210,7 +210,7 @@ gimp_gradient_get_new_preview (GimpViewable *viewable,
temp_buf = temp_buf_new (width, height, 4, 0, 0, NULL);
buf = temp_buf_data (temp_buf);
buf = temp_buf_get_data (temp_buf);
for (y = 0; y < height; y++)
memcpy (buf + (width * y * 4), row, width * 4);
......
......@@ -2312,8 +2312,8 @@ gimp_image_transform_temp_buf (const GimpImage *dest_image,
ret_buf = temp_buf_new (temp_buf->width, temp_buf->height,
out_bytes, 0, 0, NULL);
src = temp_buf_data (temp_buf);
dest = temp_buf_data (ret_buf);
src = temp_buf_get_data (temp_buf);
dest = temp_buf_get_data (ret_buf);
size = temp_buf->width * temp_buf->height;
......
......@@ -210,7 +210,7 @@ gimp_palette_get_new_preview (GimpViewable *viewable,
columns = width / cell_size;
rows = height / cell_size;
buf = temp_buf_data (temp_buf);
buf = temp_buf_get_data (temp_buf);
b = g_new (guchar, width * 3);
list = palette->colors;
......
......@@ -154,7 +154,7 @@ gimp_pattern_load (const gchar *filename,
pattern->mask = temp_buf_new (header.width, header.height, header.bytes,
0, 0, NULL);
if (read (fd, temp_buf_data (pattern->mask),
if (read (fd, temp_buf_get_data (pattern->mask),
header.width * header.height * header.bytes) <
header.width * header.height * header.bytes)
{
......@@ -224,7 +224,7 @@ gimp_pattern_load_pixbuf (const gchar *filename,
pattern->mask = temp_buf_new (width, height, bytes, 0, 0, NULL);
pat_data = gdk_pixbuf_get_pixels (pixbuf);
buf_data = temp_buf_data (pattern->mask);
buf_data = temp_buf_get_data (pattern->mask);
for (i = 0; i < height; i++)
{
......
......@@ -192,7 +192,7 @@ gimp_pattern_new (const gchar *name)
pattern->mask = temp_buf_new (32, 32, 3, 0, 0, NULL);
data = temp_buf_data (pattern->mask);
data = temp_buf_get_data (pattern->mask);
for (row = 0; row < pattern->mask->height; row++)
for (col = 0; col < pattern->mask->width; col++)
......
......@@ -244,8 +244,8 @@ gimp_preview_cache_get (GSList **plist,
else
y_ratio = 0.0;
src_data = temp_buf_data (pn.buf);
dest_data = temp_buf_data (preview);
src_data = temp_buf_get_data (pn.buf);
dest_data = temp_buf_get_data (preview);
for (loop1 = 0 ; loop1 < height ; loop1++)
for (loop2 = 0 ; loop2 < width ; loop2++)
......
......@@ -350,7 +350,7 @@ gimp_viewable_real_get_new_pixbuf (GimpViewable *viewable,
bytes = color_bytes;
}
pixbuf = gdk_pixbuf_new_from_data (g_memdup (temp_buf_data (temp_buf),
pixbuf = gdk_pixbuf_new_from_data (g_memdup (temp_buf_get_data (temp_buf),
width * height * bytes),
GDK_COLORSPACE_RGB,
(bytes == 4),
......@@ -793,7 +793,7 @@ gimp_viewable_get_dummy_preview (GimpViewable *viewable,
buf = temp_buf_new (width, height, bpp, 0, 0, NULL);
src = gdk_pixbuf_get_pixels (pixbuf);
dest = temp_buf_data (buf);
dest = temp_buf_get_data (buf);
while (height--)
{
......
......@@ -191,7 +191,7 @@ pattern_pixels_mask (guchar *dest,
guint i;
/* Get a pointer to the appropriate scanline of the pattern buffer */
pat = (temp_buf_data (pattern) +
pat = (temp_buf_get_data (pattern) +
(y % pattern->height) * pattern->width * pattern->bytes);
......
......@@ -1034,7 +1034,7 @@ gimp_brush_core_subsample_mask (GimpBrushCore *core,
core->kernel_brushes[index2][index1] = dest;
m = temp_buf_data (mask);
m = temp_buf_get_data (mask);
for (i = 0; i < mask->height; i++)
{
for (j = 0; j < mask->width; j++)
......@@ -1051,7 +1051,7 @@ gimp_brush_core_subsample_mask (GimpBrushCore *core,
}
/* store the accum buffer into the destination mask */
d = temp_buf_data (dest) + (i + dest_offset_y) * dest->width;
d = temp_buf_get_data (dest) + (i + dest_offset_y) * dest->width;
for (j = 0; j < dest->width; j++)
*d++ = (accum[0][j] + 127) / KERNEL_SUM;
......@@ -1063,7 +1063,7 @@ gimp_brush_core_subsample_mask (GimpBrushCore *core,
/* store the rest of the accum buffer into the dest mask */
while (i + dest_offset_y < dest->height)
{
d = temp_buf_data (dest) + (i + dest_offset_y) * dest->width;
d = temp_buf_get_data (dest) + (i + dest_offset_y) * dest->width;
for (j = 0; j < dest->width; j++)
*d++ = (accum[0][j] + (KERNEL_SUM / 2)) / KERNEL_SUM;
......@@ -1184,8 +1184,8 @@ gimp_brush_core_pressurize_mask (GimpBrushCore *core,
/* Now convert the brush */
source = temp_buf_data (subsample_mask);
dest = temp_buf_data (core->pressure_brush);
source = temp_buf_get_data (subsample_mask);
dest = temp_buf_get_data (core->pressure_brush);
i = subsample_mask->width * subsample_mask->height;
while (i--)
......@@ -1252,8 +1252,8 @@ gimp_brush_core_solidify_mask (GimpBrushCore *core,
core->solid_brushes[dest_offset_y][dest_offset_x] = dest;
m = temp_buf_data (brush_mask);
d = (temp_buf_data (dest) +
m = temp_buf_get_data (brush_mask);
d = (temp_buf_get_data (dest) +
(dest_offset_y + 1) * dest->width +
(dest_offset_x + 1));
......@@ -1503,7 +1503,7 @@ paint_line_pixmap_mask (GimpImage *dest,
y += pixmap_mask->height;
/* Point to the approriate scanline */
b = (temp_buf_data (pixmap_mask) +
b = (temp_buf_get_data (pixmap_mask) +
(y % pixmap_mask->height) * pixmap_mask->width * pixmap_mask->bytes);
if (mode == GIMP_BRUSH_SOFT && brush_mask)
......@@ -1511,7 +1511,7 @@ paint_line_pixmap_mask (GimpImage *dest,
/* ditto, except for the brush mask, so we can pre-multiply the
* alpha value
*/
mask = (temp_buf_data (brush_mask) +
mask = (temp_buf_get_data (brush_mask) +
(y % brush_mask->height) * brush_mask->width);
for (i = 0; i < width; i++)
......
......@@ -315,7 +315,7 @@ gimp_clone_line_pattern (GimpImage *dest_image,
y += pattern->mask->height;
/* Get a pointer to the appropriate scanline of the pattern buffer */
pat = temp_buf_data (pattern->mask) +
pat = temp_buf_get_data (pattern->mask) +
(y % pattern->mask->height) * pattern->mask->width * pat_bytes;
color_type = (pat_bytes == 3 ||
......
......@@ -128,7 +128,7 @@ gimp_eraser_motion (GimpPaintCore *paint_core,
col[area->bytes - 1] = OPAQUE_OPACITY;
/* color the pixels */
color_pixels (temp_buf_data (area), col,
color_pixels (temp_buf_get_data (area), col,
area->width * area->height, area->bytes);
opacity *= gimp_paint_options_get_dynamic_opacity (paint_options,
......
......@@ -390,7 +390,7 @@ gimp_heal_region (PixelRegion *tempPR,
{
gdouble *i_1 = g_new (gdouble, tempPR->h * tempPR->bytes * tempPR->w);
gdouble *i_2 = g_new (gdouble, tempPR->h * tempPR->bytes * tempPR->w);
guchar *mask = temp_buf_data (mask_buf);
guchar *mask = temp_buf_get_data (mask_buf);
/* substitute 0's for 1's for the division and multiplication operations that
* come later
......
......@@ -298,7 +298,7 @@ gimp_ink_motion (GimpPaintCore *paint_core,
col[paint_core->canvas_buf->bytes - 1] = OPAQUE_OPACITY;
/* color the pixels */
color_pixels (temp_buf_data (paint_core->canvas_buf), col,
color_pixels (temp_buf_get_data (paint_core->canvas_buf), col,
area->width * area->height, area->bytes);
gimp_paint_core_validate_canvas_tiles (paint_core,
......
......@@ -145,7 +145,7 @@ _gimp_paintbrush_motion (GimpPaintCore *paint_core,
&col[BLUE]);
col[ALPHA] = OPAQUE_OPACITY;
color_pixels (temp_buf_data (area), col,
color_pixels (temp_buf_get_data (area), col,
area->width * area->height,
area->bytes);
......@@ -168,7 +168,7 @@ _gimp_paintbrush_motion (GimpPaintCore *paint_core,
col[area->bytes - 1] = OPAQUE_OPACITY;
color_pixels (temp_buf_data (area), col,
color_pixels (temp_buf_get_data (area), col,
area->width * area->height,
area->bytes);
}
......
......@@ -333,14 +333,14 @@ brush_get_pixels_invoker (GimpProcedure *procedure,
mask_bpp = brush->mask->bytes;
num_mask_bytes = brush->mask->height * brush->mask->width *
brush->mask->bytes;
mask_bytes = g_memdup (temp_buf_data (brush->mask), num_mask_bytes);
mask_bytes = g_memdup (temp_buf_get_data (brush->mask), num_mask_bytes);
if (brush->pixmap)
{
color_bpp = brush->pixmap->bytes;
num_color_bytes = brush->pixmap->height * brush->pixmap->width *
brush->pixmap->bytes;
color_bytes = g_memdup (temp_buf_data (brush->pixmap),
color_bytes = g_memdup (temp_buf_get_data (brush->pixmap),
num_color_bytes);
}
}
......
......@@ -218,7 +218,7 @@ brushes_get_brush_data_invoker (GimpProcedure *procedure,
width = brush->mask->width;
height = brush->mask->height;
length = brush->mask->height * brush->mask->width;
mask_data = g_memdup (temp_buf_data (brush->mask), length);
mask_data = g_memdup (temp_buf_get_data (brush->mask), length);
}
else
success = FALSE;
......
......@@ -1179,7 +1179,7 @@ drawable_thumbnail_invoker (GimpProcedure *procedure,
actual_height = buf->height;
bpp = buf->bytes;
thumbnail_data_count = actual_width * actual_height * bpp;
thumbnail_data = g_memdup (temp_buf_data (buf),
thumbnail_data = g_memdup (temp_buf_get_data (buf),
thumbnail_data_count);
temp_buf_free (buf);
......@@ -1259,7 +1259,7 @@ drawable_sub_thumbnail_invoker (GimpProcedure *procedure,
height = buf->height;
bpp = buf->bytes;
thumbnail_data_count = buf->height * buf->width * buf->bytes;
thumbnail_data = g_memdup (temp_buf_data (buf),
thumbnail_data = g_memdup (temp_buf_get_data (buf),
thumbnail_data_count);
temp_buf_free (buf);
......
......@@ -1738,7 +1738,7 @@ image_thumbnail_invoker (GimpProcedure *procedure,
actual_height = buf->height;
bpp = buf->bytes;
thumbnail_data_count = actual_width * actual_height * bpp;
thumbnail_data = g_memdup (temp_buf_data (buf),
thumbnail_data = g_memdup (temp_buf_get_data (buf),
thumbnail_data_count);
temp_buf_free (buf);
......
......@@ -112,7 +112,7 @@ pattern_get_pixels_invoker (GimpProcedure *procedure,
bpp = pattern->mask->bytes;
num_color_bytes = pattern->mask->height * pattern->mask->width *
pattern->mask->bytes;
color_bytes = g_memdup (temp_buf_data (pattern->mask),
color_bytes = g_memdup (temp_buf_get_data (pattern->mask),
num_color_bytes);
}
else
......
......@@ -162,7 +162,7 @@ patterns_get_pattern_data_invoker (GimpProcedure *procedure,
mask_bpp = pattern->mask->bytes;
length = pattern->mask->height * pattern->mask->width *
pattern->mask->bytes;
mask_data = g_memdup (temp_buf_data (pattern->mask), length);
mask_data = g_memdup (temp_buf_get_data (pattern->mask), length);
}
else
success = FALSE;
......
......@@ -287,7 +287,7 @@ gimp_font_get_new_preview (GimpViewable *viewable,
temp_buf = temp_buf_new (width, height, 1, 0, 0, &white);
surface = cairo_image_surface_create_for_data (temp_buf_data (temp_buf),
surface = cairo_image_surface_create_for_data (temp_buf_get_data (temp_buf),
CAIRO_FORMAT_A8,
width, height, width);
......
......@@ -1584,7 +1584,7 @@ plot_pixels (GimpIscissorsTool *iscissors,
width = dp_buf->width;
/* Start the data pointer at the correct location */
data = (guint *) temp_buf_data (dp_buf) + (ye - y1) * width + (xe - x1);
data = (guint *) temp_buf_get_data (dp_buf) + (ye - y1) * width + (xe - x1);
x = xe;
y = ye;
......
......@@ -58,7 +58,7 @@ gimp_vectors_get_new_preview (GimpViewable *viewable,
yscale = ((gdouble) height) / gimp_image_get_height (item->image);
temp_buf = temp_buf_new (width, height, 1, 0, 0, white);
data = temp_buf_data (temp_buf);
data = temp_buf_get_data (temp_buf);
for (cur_stroke = gimp_vectors_stroke_get_next (vectors, NULL);
cur_stroke;
......
......@@ -262,7 +262,7 @@ gimp_brush_select_run_callback (GimpPdbDialog *dialog,
GimpArray *array;
GValueArray *return_vals;
array = gimp_array_new (temp_buf_data (brush->mask),
array = gimp_array_new (temp_buf_get_data (brush->mask),
brush->mask->width *
brush->mask->height *
brush->mask->bytes,
......
......@@ -112,7 +112,7 @@ gimp_pattern_select_run_callback (GimpPdbDialog *dialog,
GimpArray *array;
GValueArray *return_vals;
array = gimp_array_new (temp_buf_data (pattern->mask),
array = gimp_array_new (temp_buf_get_data (pattern->mask),
pattern->mask->width *
pattern->mask->height *
pattern->mask->bytes,
......
......@@ -986,7 +986,7 @@ gimp_view_render_to_surface (TempBuf *temp_buf,
x2 = CLAMP (temp_buf->x + temp_buf->width, 0, dest_width);
y2 = CLAMP (temp_buf->y + temp_buf->height, 0, dest_height);
src = temp_buf_data (temp_buf) + ((y1 - temp_buf->y) * rowstride +
src = temp_buf_get_data (temp_buf) + ((y1 - temp_buf->y) * rowstride +
(x1 - temp_buf->x) * temp_buf->bytes);
for (i = 0; i < dest_height; i++)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment