ports/sysutils/bubblemon-dockapp/patches/patch-bubblemon_c

108 lines
3.2 KiB
Text

Unbreak with GTK+ >= 2.18
--- bubblemon.c.orig Wed Oct 1 02:37:32 2003
+++ bubblemon.c Tue Oct 7 11:05:05 2014
@@ -44,7 +44,7 @@
*/
#define _GNU_SOURCE
-#define VERSION "1.41"
+#define VERSION "1.46"
/* general includes */
#include <stdio.h>
@@ -58,6 +58,7 @@
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <X11/Xresource.h>
+#include <gtk/gtk.h>
#include "include/master.xpm"
#include "include/bubblemon.h"
@@ -275,6 +276,7 @@ static void print_usage(void)
int main(int argc, char **argv)
{
+ setenv("GDK_NATIVE_WINDOWS", "1", 0);
char execute[256];
int proximity = 0;
int ch;
@@ -575,7 +577,7 @@ static void make_new_bubblemon_dockapp(void)
attri.colormap = gdk_colormap_get_system();
attri.wmclass_name = "bubblemon";
attri.wmclass_class = "bubblemon";
- attri.window_type = GDK_WINDOW_TOPLEVEL;
+ attri.window_type = GDK_WINDOW_CHILD;
bm.iconwin = gdk_window_new(bm.win, &attri,
GDK_WA_TITLE | GDK_WA_WMCLASS);
@@ -593,7 +595,6 @@ static void make_new_bubblemon_dockapp(void)
wmhints.window_group = win;
wmhints.flags =
StateHint | IconWindowHint | IconPositionHint | WindowGroupHint;
- XSetWMHints(GDK_WINDOW_XDISPLAY(bm.win), win, &wmhints);
bm.gc = gdk_gc_new(bm.win);
@@ -606,10 +607,10 @@ static void make_new_bubblemon_dockapp(void)
gdk_window_set_back_pixmap(bm.iconwin, bm.pixmap, False);
gdk_window_show(bm.win);
-#ifdef KDE_DOCKAPP
- /* makes the dockapp visible inside KDE wm */
+
+ XSetWMHints(GDK_WINDOW_XDISPLAY(bm.win), win, &wmhints);
+
gdk_window_show(bm.iconwin);
-#endif
/* We begin with zero bubbles */
bm.n_bubbles = 0;
@@ -664,7 +665,7 @@ static void bubblemon_update(int proximity)
/* y coordinates are counted from here multiplied by 256 */
/* to get actual screen coordinate, divide by 256 */
buf = bm.bubblebuf;
- col = bm.colors;
+ col = (unsigned int *)bm.colors;
waterlevel_max = 0;
waterlevel_min = MAKEY(56);
@@ -957,7 +958,7 @@ static void bubblemon_update(int proximity)
static void draw_digit(int srcx, int srcy, int destx, int desty)
{
int i, j;
- char *from, *to;
+ unsigned char *from, *to;
for (j = 0; j < 8; j++) {
from = mem_screen + 56 * 3 * (srcy + j) + srcx * 3;
@@ -1005,7 +1006,7 @@ static void draw_history(int num, int size, unsigned i
{
int pixels_per_byte;
int j, k;
- int *p;
+ unsigned int *p;
int d;
pixels_per_byte = 100;
@@ -1024,9 +1025,9 @@ static void draw_history(int num, int size, unsigned i
for (j = 0; j < size; j++) {
if (j < d - 2)
- draw_pixel(k, size - j - 1, buf, "\x00\x7d\x71");
+ draw_pixel(k, size - j - 1, buf, (unsigned char *) "\x00\x7d\x71");
else if (j < d)
- draw_pixel(k, size - j - 1, buf, "\x20\xb6\xae");
+ draw_pixel(k, size - j - 1, buf, (unsigned char *) "\x20\xb6\xae");
}
p++;
}
@@ -1034,7 +1035,7 @@ static void draw_history(int num, int size, unsigned i
for (j = pixels_per_byte - 100; j > 0; j -= 100) {
for (k = 0; k < num; k++) {
d = ((float) size / pixels_per_byte) * j;
- draw_pixel(k, size - d - 1, buf, "\x71\xe3\x71");
+ draw_pixel(k, size - d - 1, buf, (unsigned char *) "\x71\xe3\x71");
}
}
}