- fix for deleting resources not owned by our app.

May affect on #393.
This commit is contained in:
Siarzhuk Zharski
2011-05-20 21:04:21 +00:00
parent cc9544e9a7
commit 8ae9ff2cf0

View File

@@ -505,7 +505,7 @@ diff -Naur vim73/src/gui.h vim73.haiku/src/gui.h
diff -Naur vim73/src/gui_beos.cc vim73.haiku/src/gui_beos.cc
--- vim73/src/gui_beos.cc 1970-01-01 00:00:00.000000000 +0000
+++ vim73.haiku/src/gui_beos.cc 2010-08-20 23:43:35.727711744 +0000
@@ -0,0 +1,4590 @@
@@ -0,0 +1,4574 @@
+/* vi:set ts=8 sts=4 sw=4:
+ *
+ * VIM - Vi IMproved by Bram Moolenaar
@@ -627,17 +627,7 @@ diff -Naur vim73/src/gui_beos.cc vim73.haiku/src/gui_beos.cc
+#include <posix/syslog.h>
+
+#ifdef __HAIKU__
+//#include <libs/icon/IconUtils.h>
+
+// TRICK! IconUtils.h is not a public API, anyway it is exportred by libbe
+namespace BIconUtils {
+
+status_t GetVectorIcon(const uint8* buffer, size_t size, BBitmap* result);
+
+status_t ConvertFromCMAP8(const uint8* data, uint32 width, uint32 height,
+ uint32 bytesPerRow, BBitmap* result);
+};
+
+#include <IconUtils.h>
+#endif
+
+class VimApp;
@@ -2742,9 +2732,6 @@ diff -Naur vim73/src/gui_beos.cc vim73.haiku/src/gui_beos.cc
+ return;
+ }
+
+ //app_info appInfo;
+ //status_t status = gui.vimApp->GetAppInfo(&appInfo);
+
+ BPath path;
+ status_t status = find_directory(B_BEOS_SERVERS_DIRECTORY, &path);
+ if(status != B_OK) {
@@ -2754,7 +2741,7 @@ diff -Naur vim73/src/gui_beos.cc vim73.haiku/src/gui_beos.cc
+
+ path.Append("app_server");
+
+ BFile file(/*&appInfo.ref*/path.Path(), O_RDONLY);
+ BFile file(path.Path(), O_RDONLY);
+ if(file.InitCheck() != B_OK) {
+ fprintf(stderr, "App file assignment failed:%s\n",
+ strerror(file.InitCheck()));
@@ -2791,7 +2778,6 @@ diff -Naur vim73/src/gui_beos.cc vim73.haiku/src/gui_beos.cc
+ // try vector icon first?
+ iconData = (const uint8*)resources.LoadResource(B_VECTOR_ICON_TYPE, name, &size);
+ if(iconData != NULL && BIconUtils::GetVectorIcon(iconData, size, fIconBitmap) == B_OK) {
+ delete iconData;
+ return;
+ }
+#endif
@@ -2812,8 +2798,6 @@ diff -Naur vim73/src/gui_beos.cc vim73.haiku/src/gui_beos.cc
+#else
+ fIconBitmap->SetBits(iconData, size, 0, B_CMAP8);
+#endif
+
+ delete iconData;
+}
+
+#endif /* FEAT_GUI_DIALOG */