Clean up Haiku code after file panel changes

* src/haiku_support.cc:
* src/haiku_support.h: Stop including pthread.h and specpdl_ref.

* src/haikumenu.c (run_menu_bar_help_event): Ignore invalid help
events instead of aborting.
This commit is contained in:
Po Lu 2022-05-16 01:37:27 +00:00
parent af4a0d7ad6
commit a57687dc0e
3 changed files with 3 additions and 23 deletions

View file

@ -82,8 +82,6 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <csignal>
#include <cfloat>
#include <pthread.h>
#ifdef USE_BE_CAIRO
#include <cairo.h>
#endif

View file

@ -437,32 +437,14 @@ struct haiku_session_manager_reply
dimensions of a BRect, instead of relying on the broken Width and
Height functions. */
#define BE_RECT_HEIGHT(rect) (ceil (((rect).bottom - (rect).top) + 1))
#define BE_RECT_WIDTH(rect) (ceil (((rect).right - (rect).left) + 1))
#define BE_RECT_HEIGHT(rect) (ceil (((rect).bottom - (rect).top) + 1))
#define BE_RECT_WIDTH(rect) (ceil (((rect).right - (rect).left) + 1))
#endif /* __cplusplus */
/* C++ code cannot include lisp.h, but file dialogs need to be able
to bind to the specpdl and handle quitting correctly. */
#ifdef __cplusplus
#if SIZE_MAX > 0xffffffff
#define WRAP_SPECPDL_REF 1
#endif
#ifdef WRAP_SPECPDL_REF
typedef struct { ptrdiff_t bytes; } specpdl_ref;
#else
typedef ptrdiff_t specpdl_ref;
#endif
#else
#include "lisp.h"
#endif
#ifdef __cplusplus
extern "C"
{
#endif
#include <pthread.h>
#include <OS.h>
#ifdef __cplusplus

View file

@ -728,7 +728,7 @@ run_menu_bar_help_event (struct frame *f, int mb_idx)
vec = f->menu_bar_vector;
if ((mb_idx + MENU_ITEMS_ITEM_HELP) >= ASIZE (vec))
emacs_abort ();
return;
help = AREF (vec, mb_idx + MENU_ITEMS_ITEM_HELP);
if (STRINGP (help) || NILP (help))