Commit Graph

1314 Commits

Author SHA1 Message Date
Sergey Sharybin
57c626d11c Forgot to close clipboard when lock fails.
Thanks to jesterKing!
2011-05-12 18:04:24 +00:00
Sergey Sharybin
1d6278f80a Fix #27359: Pasting long text crashes blender
Actual problem was caused by insufficient buffer size
in ui_text_leftclip()

Also fixed possible invalid memory write in GHOST_SystemWin32::getClipboard
which was caused by accessing clipboard buffer after closing
clipboard. This mustn't happen.
Also fixed possible crush when buffer was failed to be locked.
2011-05-12 16:49:53 +00:00
Brecht Van Lommel
754c134e09 Fix #27279: IK bone rotation limits set to 0 disabled the limit, this was
unintentional, since there is already a toggle to enable/disable it.
2011-05-12 08:34:31 +00:00
Nathan Letwory
56c5d71f1c Apply patch from Ryakiotakis Antonis as posted on ML
Should fix MingW build problems - mingw users, please test too :)
2011-05-10 23:54:15 +00:00
Nathan Letwory
fab1ee1f78 MingW apparently doesn't know about RIM_INPUTSINK, define it if it isn't already. 2011-05-10 23:38:40 +00:00
Nathan Letwory
14c3714b81 Revert rename of r36578, breaks scons compile. 2011-05-09 21:34:52 +00:00
Guillermo S. Romero
c87b5f8dfb SVN maintenance. 2011-05-09 20:13:48 +00:00
Campbell Barton
1e0c3d315b minor cleanup, no functional changes. 2011-05-09 14:41:44 +00:00
M.G. Kishalmi
88a13d7395 fixed scrolling lists with the mousewheel for some X11 windowmanagers.
some WMs not only send 'crossing' events when really moving from one
window to another, but also when mousewheeling.
distinguishing those events 'mode' property fixed this.

brecht++ for figuring out the details.
2011-05-09 12:46:59 +00:00
Campbell Barton
4c71d9efb5 set svn end of lines to native 2011-05-09 08:15:38 +00:00
Dalai Felinto
0b03268c17 Patch [#26799] embedded blenderplayer not receiving keyboard input by Sebastian Korczak
(patch co-reviewed by Nathan Letwory)

Overview: GHOST using rawinput for keyboard input. GHOST window receives WM_INPUT only when it is the active window. Child window cannot be active, so when embedding blenderplayer, WM_INPUT is consumed by top level parent window (for Burster it is the web browser window). Patch register raw input device as 'inputsink' - it makes GHOST window receives all keyboard messages. Window procedure check if GHOST window is active or focused.

::TranslateMessage(&msg) generates WM_CHAR etc. messages from WM_KEYDOWN, WM_KEYUP etc. Because of using RawInput only WM_INPUT messages are processed, so we doesn't need WM_CHAR, WM_KEYDOWN etc. [this is why ::TranslateMessage is no longer getting called].

Note: It's responsibility of the parent window (aka the wrapper) to send WM_SETFOCUS to child window (embedded blenderplayer).
However some parent windows (e.g. webbrowsers) will not send WM_SETFOCUS to the child window when someone clicks on it.
In those cases the blenderplayer needs to be patched to call setFocus(&msg); in the event of WM_LBUTTONDOWN (see GHOST_SystemWin32.cpp)
2011-05-07 22:28:56 +00:00
Brecht Van Lommel
cb12337363 Code cleanup: remove source/kernel module, this wasn't really the kernel of
anything, only contained a hash map and functions to pass command line args
to the game engine. Moved those to container and BlenderRoutines modules.
2011-05-06 20:18:42 +00:00
Dalai Felinto
c56fe3efe6 Patch [#26799] 2.5x blenderplayer (BGE) anti-aliasing & embedding by Sebastian Korczak (with some small tweaks) + adding GHOST_PRINTF
The patch can also be found in http://codereview.appspot.com/4431072/

##############
This patch fix anti-aliasing (multisampling) implementation for win32 platform. It also gives opportunity to embed blenderplayer inside parent window.

Usage:
blenderplayer.exe -i 123456 -m 16 file.blend

where:
123456 - parent window handler (integer, default: 0)
16 - multisample level (integer, default: 0, max: 16. Put there maximum level you want. If not supported, player will automatically try 15,14,13,...,3,2,1)
##############

This patch was originally created as part of the Burster (aka webplugin) project but benefit any one embedding the bge in a custom OpenGL context. By the way, to embed the BGE in a .Net application is really straightforward now =)
The Multisampling work for blenderplayer as a whole.

Missing functionalities:
- to expose the multisampling to the ui (so far it only works in console)
- window focus and keyboard messages for embedded blenderplayer (supported in their previous patch for 2.49, yet to be ported over)
- handle resizing (to be investigated, indeed the changes in getState() in GHOST_WindowWin32.cpp are going to get in the way of that if I'm not mistaken. To be addressed together.

Doxygen documentation to be added whenever I sort out how to do so. Sorry Nathan too many stuff to deal with at the same time. The sooner this patch gets in, the sooner the missing functionalities can be patched on top of that.
2011-05-04 01:50:17 +00:00
Campbell Barton
08a914095e change ghost/x11 toggleConsole to use dummy function in the header. 2011-05-03 07:05:01 +00:00
Campbell Barton
e910bf1ef5 fix for building windows/mingw 2011-05-02 14:18:47 +00:00
Nathan Letwory
aecb892e19 Also add build fix for OSX (not-tested, so OSXers, please do test). 2011-05-02 08:39:17 +00:00
Campbell Barton
e9e9f89f1a x11 builds again. 2011-05-02 08:36:00 +00:00
Nathan Letwory
d197ec74e3 Fix [#26981] Command window is not opening in 2.57.0
Reported by Thomas Engel
Fix [#26938] Blender Zoom not working after startup (Windows)
  Reported by Ilija Boshkov

by applying patch [#26881] Fix for console disappearing in debug mode [Windows]
  Submitted by Alexander Kuznetsov (AlexK)

The patch moves console toggling code into GHOST and improves on the toggling behaviour.

The patch changes handling of WM_SYSCOMMAND so that alt-key toggling isn't a problem anymore.
2011-05-02 08:07:24 +00:00
Campbell Barton
f86565c90e whitespace edits for bpy api, split some really long lines. 2011-04-30 13:58:31 +00:00
Campbell Barton
fca91f550b rename duplicate header defines & remove unused var. 2011-04-28 05:15:47 +00:00
Campbell Barton
d6d2f09dd9 quiet some clang warnings & fix for bugs in exceptional cases.
- ghost C api, BLI_get_folder_version() could assign garbage values.
- pointcache ptcache_find_frames_around() had a superfluous NULL check which would have crashed anyway if actually NULL.
2011-04-23 12:57:03 +00:00
Campbell Barton
f9f771cd01 converted more mixed tab/space indentations to tabs. only whitespace changes. 2011-04-21 15:53:30 +00:00
Campbell Barton
210ee1ade4 whitespace only, no functional change mixed tabs/spaces --> tabs. 2011-04-21 13:11:51 +00:00
Joerg Mueller
5f08bfd46c Fix for [#26990] Loading file w packed audio crashes
FFMPEG was reallocating buffers it didn't own and wasn't allowed to. This workaround should work now flawlessly.

Also fixing a bug regarding unpacking sounds, the UI stated unpacking to //audio/filename while it was unpacking to //sounds/filename
2011-04-18 14:24:36 +00:00
Campbell Barton
a41c0c324a fix [#26937] Radio button text truncation should start at beginning of string
ensure start of text is always visible.

- also left in test for fix [#26933] which left it broken.
- quiet warning in AUD Py API.
2011-04-15 01:32:37 +00:00
Sergey Sharybin
b3a04b4ea7 Fix crash for Intel G45 video cards
This video card need a bit different approach to buffer swapping.
Patch provided by nico_ga from IRC.
2011-04-12 14:31:59 +00:00
Sergey Sharybin
e210d82f17 FIx crash when opening User Preferences even with NVidia card
This crash was discovered by Dalai and this happened because of
unset current context (as result of call wglMakeCurrent(NULL, NULL)).
In this case glGetString(GL_VENDOR) returns NULL. Rather than add check
for vendor != NULL before string comparison, I've changed a bit logic of
context creation:
- Create context and set it as current
- If it's crappy Intel card -- delete this context and
  share the only one context between all Windows
- Otherwise, use initial logic (with sharing lists and so on)

This could also fix crash when opening userprefs from a menu with Intel card.
2011-04-11 19:22:43 +00:00
Joerg Mueller
e37dc17991 Fix for [#26652] "Audio Muted" in Time Line Editor is not working
-> The feature was completely missing o_O
Also fixed an ffmpeg seeking bug.
2011-04-10 22:40:37 +00:00
Nathan Letwory
28478967f4 doxygen fix 2011-04-09 19:46:17 +00:00
Nathan Letwory
b344fe05ec whitespace 2011-04-09 19:23:49 +00:00
Sergey Sharybin
66cee63665 Fix crash for Windows+Intel video card configuration
Intel video cards don't work fine with multiple contexts and
have to share the same context for all windows. This could work
incorrect with multiple video cards configuration, so suppose
there'll be no such situation (Intel cards are mostly in portable
devices like notebooks and laptops, where there's actually no
dual video cards). Anyway, it should work much better now.

Non-Intel cards behavior was kept unchanged.

Thanks to Ton for debug session :)
2011-04-09 18:29:43 +00:00
Campbell Barton
ca254dd37b add option WITH_BUILTIN_GLEW, so linux packagers can disable to use their own glew library. 2011-04-05 23:31:01 +00:00
Campbell Barton
bb1f20a534 includes for building with gcc 4.6 on fedora.
patch from Richard Shaw
2011-03-30 16:14:54 +00:00
Campbell Barton
aa2269e065 remove DEBUG flag from OpenNL with cmake, was giving too many prints in the console when unwrapping. 2011-03-29 11:50:37 +00:00
Campbell Barton
6e5ce953da use 'is None' rather then '== None' as suggested by python docs & mis-spelling. 2011-03-29 04:16:55 +00:00
Campbell Barton
9b9c4184c8 misc nodes & editors: floats were being implicitly promoted to doubles, adjust to use floats.
+ minor update to demo_mode
2011-03-28 17:08:33 +00:00
Campbell Barton
b11f29c8ac clear some c++ warnings. 2011-03-27 07:56:29 +00:00
Campbell Barton
02a7063a09 fix for blenderplayer crashing on exit.
the event consumer was being freed twice, once when going out of C++ scope, another when freeing the system.
2011-03-26 08:13:42 +00:00
Campbell Barton
06b04fa886 dont return a system path if cmake's 'WITH_INSTALL_PORTABLE' is enabled. this way portable builds wont find scripts in /usr/share. 2011-03-25 05:23:58 +00:00
Campbell Barton
5f8fa29755 add cmake option to build without xinput (tablet support) 2011-03-25 04:56:48 +00:00
Campbell Barton
e9005b985e remove some redundant vars, assignments & checks. 2011-03-19 05:06:06 +00:00
Nathan Letwory
21b2f94235 Fix [#25480] Unable to use Windows titlebar icons after Loopcut
reported by Georg K
with patch [#26469] Windows mouse fix
by Alexander Kuznetsov

The amount of mouse grabs wasn't properly balanced with ungrabs, thus preventing from using proper mouse input outside client area.
2011-03-18 21:59:45 +00:00
Nathan Letwory
b4743ccd8f Fix for crasher on Win XP, submitted by Kanttori.
size is 32 on XP, while sizeof(ri) gives 40. Pick the smaller one to pass to memcpy to prevent crashes.
2011-03-18 13:36:52 +00:00
Nathan Letwory
60a4c9d09e Some explicit casts to silence warnings (unsafe to mix int and bool in comparisons). 2011-03-11 22:06:18 +00:00
Nathan Letwory
dec585cb94 Fix a typo in defines. Patch by Alexander Kuznetsov
The typo resulted in bad keyboard input handling in MinGW builds.
2011-03-11 02:58:37 +00:00
Nathan Letwory
d6b43fed31 Fix [#26446] Quick extrude (Ctrl+LMB) works only one time
Reported by Michael R

This was one thing I didn't test when accepting patch [#26364]. It is important to not
send repeats of modifier keys.
2011-03-10 18:56:19 +00:00
Nathan Letwory
ca63b15131 Apply [#26364] New Windows keyboard handling
Submitted by Alexander Kuznetsov

Fixes [#25279] Shift-Numpad Combinations fail to align view to selected
and addresses [#26328] Blender uses global keyboard message hook which hurts system responsiveness on Windows

A whole new way of handling keyboard input improves greatly both code readability and event handling. Thanks for the great patch, Alexander!
2011-03-09 22:10:51 +00:00
Campbell Barton
53139432dd image.depth, 96/128 for float color images, was 24/32 for byte images.
also use <> for system includes
2011-03-09 01:25:59 +00:00
Nathan Letwory
ed8719bd1f Apply a small patch from mikktspace author Morten Mikkelsen (cosmetic changes). 2011-03-08 20:39:32 +00:00
Campbell Barton
709c727c51 replace 0 with NULL when used as a pointer 2011-03-03 17:58:06 +00:00