Comments (5)
Personally, I'd be OK with it crashing, since that tells you right away "oops, forgot initscr()". But, fine, I realize curses doesn't work that way in general. I've put in SP checks throughout mouse.c (to be committed later).
For this particular function, though, I'm not really seeing the logic of returning the maximum interval on no SP. I realize that's what ncurses does, but not why. Zero would seem to make at least as much sense, reflecting the fact that you're not going to get any click events (or any other input events).
from pdcurses.
I'm not really seeing the logic of returning the maximum interval on no SP
Maybe that's a "proper way" to know the maximum up-front? I don't know, it was just something I've stumbled over.
from pdcurses.
For now, I've decided to return ERR in this situation. 7e04826
from pdcurses.
@wmcbrine 'fixed' this by having a slew of functions return ERR if called before initscr()
. However, I agree strongly that (in most cases) the program should crash, and certainly should do so when compiled for debug mode. Calling, for example, init_color()
in ncurses without init_scr()
does not crash, but it also has no effect. If you do it, you've done something wrong, and could spend some time trying to figure it out if your mistake is simply ignored.
For my fork, I've added an assert(SP)
for each such case. This -- at least in debug mode -- makes considerably more sense to me. I also revised mouseinterval()
to follow ncurses' lead and return the maximum mouse interval (which I made a defined constant and bumped up to 32767 milliseconds).
from pdcurses.
Returning ERR is the documented behavior for most of these functions, per both X/Open and the ncurses man pages. But certainly, more detailed feedback would be desirable in some cases.
from pdcurses.
Related Issues (20)
- Is it normal that several styles don't work correctly in PowerShell? HOT 7
- Enabling support for showing window after process put to sleep (SDL2) HOT 4
- SDL_GetError() returns "Parameter 'src' is invalid" after call to initscr() for sdl2 HOT 2
- ncurses compat: add WACS_D_LRCORNER and other double line drawings
- SDL2 port missing support for PDC_PRESERVE_SCREEN HOT 4
- WinCon, endwin() kills QuickEdit/InsertMode options and more.. HOT 8
- touchoverlap() un-touches parts of lines HOT 1
- addition of vt port from Bill-Gray HOT 1
- additional gitpod config
- No rule to make target '../common/libobjs.mif'. Stop. HOT 5
- Unable to get mouse position when hovering HOT 9
- SDL2 build fails for Mac/Linux in Github HOT 2
- When resizing the SDL2 window, the surface isn't refreshed
- Build failure when building PDcurses DLL library for Window console HOT 1
- Debugging? HOT 1
- printw.c - for Unicode? HOT 3
- wresize doesn't return ERR if the window size requested is too big HOT 3
- Unable to initialize soft label keys HOT 2
- missing escapes in configure script HOT 1
- Scrolling and inserting/deleting lines
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pdcurses.