Hello everyone,
My name is Oleg Brezhnev, i am 3rd course student of Software
Engineering in Penza State University, Russia. It would be very cool
to get some driver programming experience, since recently i got a work,
where driver programming skills will be really useful.
So i want to implement the AHCI SATA Storage Driver or anything related
to drivers.
But the problem is i do not have any experience in driver devleopment
besides one chapter of a small book about NT-drivers, i've bought
today, so i can not estimate amount of work properly.
I have some experience of user-space C programming, i've wrote several
application like user control app and device manager for my company's
products.
My question is: is it ok to apply on a GSOC with proposal like this
considering this circumstances? I ready to work really hard to learn
all i need during my work and complete the task.
Sincerely yours,
Oleg Brezhnev
Hello everyone,
I am Anchit Jain, Computer Science undergraduate from BITS PILANI, India.
I am interested in pursuing SSH Service project.
I have some experience in Socket Programming and Network Protocol development
in C. Some of my work could be seen at [https://github.com/anchitjain1234](https://link.nylas.com/link/ezhvubksgc7dhi29sglp2mpvq/7af2e7b30ed04821b97b5daf…
9e7a5/0?redirect=https%3A%2F%2Fgithub.com%2Fanchitjain1234).
In past, I have implemented some basic network services like TFTP protocol and
some minor part of FTP client.
Regarding the project :- Would this project require a new SSH Server to be
written from scratch or to be build upon some existing codebase like Apache
Mina etc.?
I would request potential mentors to guide me for the same.
Thanks,
Anchit Jain

> Hi,I'm Chu Bingxiang, from Harbin Engineering University, China, and this is my third year in this University. This is my first time met with ReactOS, and I found that I really love this project. And maybe "Fully Integrate lwIP" is my dish.After reading the idea-list, I think this one is to fit IwIP well with ReactOS and I need to try my best to make further progress in it.Now I'm facing a big problem, that the newest version of lwIP is 1.4.1, and 1.5.0 is going to be released, which one should I learn?
Hi Chu, welcome to ReactOS!
The lwip version won't be a problem for two reasons:
* We try to stay up to date whenever a new release is available.
* There *shouldn't* be significant differences between lwip versions to
the point of needing to rewrite the whole tcpip driver when a new lwip
version is released.
Also, please consider joining our IRC channel if you need realtime
discussions/interactions.
Good luck!
Cheers,
Amine.
Hi,I'm Chu Bingxiang, from Harbin Engineering University, China, and this is my third year in this University. This is my first time met with ReactOS, and I found that I really love this project. And maybe "Fully Integrate lwIP" is my dish.After reading the idea-list, I think this one is to fit IwIP well with ReactOS and I need to try my best to make further progress in it.Now I'm facing a big problem, that the newest version of lwIP is 1.4.1, and 1.5.0 is going to be released, which one should I learn?
Cheers,
初炳享Chu Bingxiang哈尔滨工程大学计算机科学与技术学院Computer Science and Technology of Harbin Engineering University
Registration is closed! They cant report to JIRA.
> Hello, we normally ask that bug reports be opened on our JIRA at https://jira.reactos.org/
>
> Some months ago I had an issue with VMware, where boot would fail if I upgraded the VM to hardware version 11 or 12, and I had to set it to hardware version 10 for it to work correctly. I thoguht that issue was fixed a while ago, but it may be worth checking.
>
> On 3 March 2016 at 15:20, Thomas Schweikle <tschweikle(a)gmail.com> wrote:
>
>> Hi!
>>
>> After I managed to build ReactOS with the build system I noticed that
>>
>> live- and bootcd do not work within VMware Workstation 12. I've tried
>>
>> ESX Server too. Same: livecd just displays a black screen, while
>>
>> bootcd shows a startup menu. After selecting (or letting timeout) an
>>
>> item the screen goes black.
>>
>> Since the downloadable versions of live- and bootcd do have the same
>>
>> problem I assume this not being a problem of my build, but something
>>
>> they just do not work together with VMware Workstation/ESX-Server.
>>
>> --
>>
>> Thomas
>>
>> _______________________________________________
>>
>> Ros-dev mailing list
>>
>> Ros-dev(a)reactos.org
>>
>> http://www.reactos.org/mailman/listinfo/ros-dev
Hi!
After I managed to build ReactOS with the build system I noticed that
live- and bootcd do not work within VMware Workstation 12. I've tried
ESX Server too. Same: livecd just displays a black screen, while
bootcd shows a startup menu. After selecting (or letting timeout) an
item the screen goes black.
Since the downloadable versions of live- and bootcd do have the same
problem I assume this not being a problem of my build, but something
they just do not work together with VMware Workstation/ESX-Server.
--
Thomas
Hi!
Building ReactOS from scratch is not really magic! It is easy. But now
I am trying to set up an automated build by jenkins, and it starts to
be a challenge ...
I could not find any repository for the build system RosBE? Is there
one? I'd like to check it out, compile it, install it and if this went
OK -- start compiling ReactOS.
Here's an other point: I've to start the build system; this offers a
shell I can enter the next commands. It doesn't seem to be possible to
handle commands to the build system in some way, without typing them
in -- exactly this would be nice to have. It would be useful for
automating with jenkins ...!
Any idea? I've gut some to push the commands in, but all of them are
crude and not really simple and stupid adding some more points of
failure to this build process.
Thanks in advance for any help!
--
Thomas
Hello all,
I am Pratik Singhal, a 3rd year undergraduate student studying Computer
Science studying in BITS-Pilani, Goa Campus, India.
I want to pursue the project NTFS Driver Improvement project as a part of
Google summer of code 2016.
I have previously participated in Google summer of Code 2015 for FreeBSD
operating system and have done some kernel hacking before.(
https://wiki.freebsd.org/SummerOfCode2015/CubieBoardSupport)
I have also made a mini operating system of my own.
I am sure, that the experience I gained while previously for FreeBSD will
certainly help me in understanding the ReactOS code base quickly which will
be useful for the project. I don't have any significant experience on
working with file systems before, but I am confident that with some
guidance from fellow developers I will be able to learn new things which
will help in completion of the project. Also, I haven't had any access to
Windows source code , so that shouldn't be a problem.
We will have to figure out concrete goals of the project, full term and mid
term deliverable and a plan for completion of project, if it is to be
selected for Google summer of Code.
It'll be great if somebody, could mentor me for this project.
Thanks,
Pratik Singhal
Hi,
After five years the ReactOS Project is returning to the Google Summer
of Code[1]!
On the heels of the 0.4.0 release the project's aim is on creating
smoother user experiences and generally making the system feel more
robust and pleasant to use. The team is looking for students interested
in learning more about the NT architecture that underpins the most
widely used desktop operating system in the world and who wants to take
part in the creation of an open source implementation of it.
Please head on over to the project proposal page[2] to see some of the
ideas we've come up with so far. If you have your own bright idea on how
to make ReactOS even better don't be afraid to share as we're always
open to new ideas.
Either way please head over to the IRC channel[3] to give us a shout if
you're interested. We promise, we don't bite. Mostly of the time ;)
Cheers,
Amine.
[1] https://summerofcode.withgoogle.com/organizations/6324900541235200/
[2] https://www.reactos.org/wiki/Google_Summer_of_Code_2016_Ideas
[3] https://reactos.org/irc
Hi guys,
I would like to understand whats the rationale behind changing the ReactOS
trunk version from 0.4-SVN to 0.5-SVN (see revision 70818) whereas we
have just started to release ROS 0.4.0 only?
Thanks in advance for your explanations!
Cheers,
Hermès.
Hello there,
A couple of you have already seen me make this request in IRC, but I
will make a more formal one here.
I've noticed that ReactOS still uses the Subversion VCS, and while this
might have been a good choice when it was initially set up, in 2016, it
is a rather backwards and self-defeating method to develop software.
For users without write access to the repository, developing against it
means that SVN serves barely better than copying a whole directory just
to do a diff against it. Submitting patches means that they'll not be
split up into logical steps (commits), and increases the difficulty of
determining what a patch contains, or even making a sane commit message
for it.
In the modern DVCS world, this simply doesn't need to hold true. Each
clone of the repository is exactly as the name implies: it's a clone.
Users that want to hack away on the source are freer to do so, create
their own private branches, commit to all their heart's content, and
submit a pull request back to the project (don't think of GitHub as the
only example of pull requests: they come in many forms and can even
include "sending patches to a mailing list", which would still retain
better properties than the Subversion model).
I do urge to give consideration to moving development infrastructure to
Git[*]. It would greatly ease both developer burden, and especially
contributors' burden. It is, simply, what the modern world uses. :-)
Secondary tale: I'm aware of git.reactos.org and GitHub both having a
git-svn clone of the repository. These are "okay" for the most basic
glances of the repo, but be warned that git-svn is unmaintained,
extremely buggy, and should never be used for a serious migration. For
a migration, we'll use reposurgeon. Each repository is unique and the
problems cannot be fully automated away, sorry. Human intervention is
required to do these properly.
---
Now that I've talked about why, I'll note some observations about the
Subversion repository in its present state:
* Multiple logical projects exist in the namespace. At the very least,
each of the subdirectories under /trunk should be translated to
independent Git repositories. If there are even more historical ones
(I've only looked at HEAD), we should get a list of them.
* Old versions of RosBE are under /tags. Is RosBE maintained
elsewhere?
* A lot of old and new branches. If any of these are already merged
into trunk, it may be best to just discard their preservation. Per-
developer branches might work out best if each developer took
'ownership' of them with independent repository clones. An
infrastructure and organization like https://git.kernel.org/ may be
worth looking into.
* Tagging conventions at least appear sane and logical, but they
should be named with more conventional names for Git, usually a bare
number or prefixed with v. For example, "0.3.17", "0.4.0", or
"v0.3.17", "v0.4.0" -- this is a pure policy decision, but with one-
project-per-repository, it keeps things looking clean.
* It is very large. Over a gigabyte as a live repository, 14GB as a
full stream dump. It will require a lot of memory to process and I'm
not sure my own system will handle that. It will also take a long time
to process and develop a migration -- the upper bound can be on the
order of months of work. Development in Subversion should not be halted
until the day the migration is being completed.
[*] Okay, it doesn't have to be Git. Hypothetically, any DVCS will do,
but only Mercurial has enough traction to be a viable alternative.
Thanks for listening,
Mike
On Thu, Feb 25, 2016 at 5:54 AM, David Quintana (gigaherz)
<gigaherz at gmail.com> wrote:
> I think the real goal with moving to a platform such as github is reducing
> the entry barriers for new contributors. As it has been mentioned already,
> almost all projects who moved from SVN with "send patches" contribution
> system, to Git/Hg with Pull Requests have got non-negligible growth in
> contributions.
>
I don't know... Speaking about "the entry barriers for new
contributors", this is contributing now:
1. svn checkout svn://svn.reactos.org/reactos/trunk/reactos
2. // make changes
3. svn diff > patch_for_JIRA_issue
compare it with "Git/Hg with Pull Requests":
1. Create/Log in to your GitHub account
2. Go to the page for the code respository you want to contribute to
(the “upstream”)
3. “Fork” the repository (this creates a clone to your GitHub account)
4. Create a local clone of your fork with git clone
5. Create a local branch for your changes
6. Make your changes and commit them to your local branch with git
commit, ensuring to include a descriptive commit message
7. Push the branch to your GitHub fork using git push
8. Go to the page for the upstream repository go to the pull requests
tab
9. Click the “New Pull Request” Button
10. Select the branch you want to submit, and write a summary of what
your change explaining what it is intended to do and how it is
implemented
which is the process for "Raising a Pull Request" described in here:
http://oss-watch.ac.uk/resources/pullrequest (the preferred source
chosed by Google search for explaining to me what a "pull request" is).
Ignoring the fact that new ReactOS contributions will have as
prerequisite the signing up for a (commercial) third party service,
GitHub may appear a good move for those familiar with GitHub intrinsic
knowledge, but it doesn't to for the rest of us.
I know that Amine Khaldi offered (on IRC, on #reactos-dev) to help to
"resort to manually relaying to GH" "only if someone doesn't want to"
sign up, but this will be counterproductive (who wants to be a burden
and to abuse in such a way precious developer's time?) and will most
likely prevent many not-so-motivated (but potentially precious)
contributions outside this cherished GitHub community.
Hello,
Let me invite you to the monthly status meeting taking place last
Thursday of a month, 25th of February, 19:00 UTC, as usual.
IRC service will only be started shortly before the meeting. Your
participation passwords and server address will be emailed to you
shortly before the meeting starts, and they are going to be different
once again as they are not stored in any database. Hopefully it's not
much of inconvenience.
Please send agenda proposals to me before the meeting.
Regards,
Aleksey Bragin
Nearly ten years ago the ReactOS Project released version 0.3.0. Today
we are proud to announce the formal release of version 0.4.0!
A great deal of work has gone into making this release happen and as we
look back it is remarkable to consider how far the project has come
since that release a decade ago. This release is both a celebration of
and a testament to everything that the ReactOS team and community has
achieved together.
Here we document some of the highlights that separate 0.4.0 from not
just the 0.3.17 release but also the cumulative achievements that the
0.3.x series achieved: https://reactos.org/project-news/reactos-040-released
A changelog is available at: https://reactos.org/wiki/ChangeLog-0.4.0
Thank you to all of you for having stood by the project for this long
and we hope rewarding journey.
For those of you chomping at the bit to check out the release, please go
to the download page to get it now: https://reactos.org/download
Hi all ! Please have a look at
http://www.reactos.org/forum/viewtopic.php?f=2
<http://www.reactos.org/forum/viewtopic.php?f=2&t=14713> &t=14713 , I think
these two posts (at the time of writing this mail) show/remind few points
about ReactOS that need to be more emphased/better explained in our website
(and concerning the license, better be shown; notice that we run with GPL +
BSD for some parts of the code).
Regards,
Hermès
IIRC, it's a hack because neither x nor y is usually -32000, so those are flag values instead of fixed actual values. You have enough physical screens laid out in a line it's possible (16 1080p + a 1280 wide one), but still unlikely on one system given it would take multiple video cards to drive that many. The desktop as a decorated window hides the resize frame and title bar by positioning outside the effective area of a multiple screen layout and using a width and height that just encompasses the layout in Display Properties as the client area dimensions, with (0,0) of the viewports being one of the corners of the primary screen's client area. This forces at least one position coordinate to be negative by at least the width of the resize frame. I forget whether this is documented in the DDK or SDK, sorry, and which edition.
------ Original message------From: James TaborDate: Sat, Feb 13, 2016 12:03 AMTo: ReactOS Development List;Cc: Subject:[ros-dev] [ros-diffs] [hbelusca] 70713: [WIN32SS] - Fix orthograph - Mention in the code that some stuff are hacks & need to be fixed. - Add parentheses around bit checks.
Hello,
Why is this a hack?
Thanks,
James
Modified: trunk/reactos/win32ss/user/ntuser/winpos.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/winpos…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/winpos.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/winpos.c [iso-8859-1] Fri Feb 12
16:40:36 2016
@@ -724,8 +724,8 @@
pwndParent = Window->spwndParent;
if (pwndParent == UserGetDesktopWindow())
{
- ERR("Parent is Desktop, Min off screen!\n");
- /* ReactOS doesn't support iconic minimize to desktop */
+ ERR("FIXME: Parent is Desktop, Min off screen!\n");
+ /* FIXME: ReactOS doesn't support iconic minimize to desktop */
Pos->x = Pos->y = -32000;
Window->InternalPos.flags |= WPF_MININIT;
Window->InternalPos.IconPos.x = Pos->x;
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
On Wed, Feb 10, 2016 at 5:28 PM, <hbelusca(a)svn.reactos.org> wrote:
> else // if (SecurityData->ReferenceCount <= 1)
Is the intent to free the data while SecurityData->RefCount will remain at 1?!
Best regards,
Alex Ionescu
I think you guys took more time to debug and mess with the DPRINT then
it would've taken to implement the function. Come on guys.
Best regards,
Alex Ionescu
On Mon, Feb 1, 2016 at 3:10 PM, <hbelusca(a)svn.reactos.org> wrote:
> Author: hbelusca
> Date: Mon Feb 1 23:10:38 2016
> New Revision: 70674
>
> URL: http://svn.reactos.org/svn/reactos?rev=70674&view=rev
> Log:
> [CMLIB]: Demote the DPRINT1 saying that we leak the security block descriptor to a DPRINT. People (Alex & me) working on cmlib already know this. "Fixes" timeout problems of the testbots due to spamming this dprint.
>
> Modified:
> trunk/reactos/lib/cmlib/cmkeydel.c
>
> Modified: trunk/reactos/lib/cmlib/cmkeydel.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/cmlib/cmkeydel.c?rev=7…
> ==============================================================================
> --- trunk/reactos/lib/cmlib/cmkeydel.c [iso-8859-1] (original)
> +++ trunk/reactos/lib/cmlib/cmkeydel.c [iso-8859-1] Mon Feb 1 23:10:38 2016
> @@ -215,7 +215,7 @@
> }
>
> /* FIXME: This leaks the security desriptor! */
> - DPRINT1("Potentially leaking key security descriptor. Please call CmpFreeSecurityDescriptor\n");
> + DPRINT("Potentially leaking key security descriptor. Please call CmpFreeSecurityDescriptor\n");
>
> /* Free the key body itself, and then return our status */
> if (!CmpFreeKeyBody(Hive, Cell)) return STATUS_INSUFFICIENT_RESOURCES;
>
>
On 2016-01-24 19.00, ros-dev-request(a)reactos.org wrote:
> + if (Length != Length)
Now that's what we call an unlikely condition :-D
The CPU branch predictor will have no problem.
Magic indeed.. Hope it's not indicative..
L.
For everyone who thinks this looks terrible: don't view it in your
browser. Instead download it and open it with a proper image viewer.
Then your eyes stop bleeding and it actually looks good :)
Timo
Am 06.01.2016 um 10:31 schrieb cfinck(a)svn.reactos.org:
> Author: cfinck
> Date: Wed Jan 6 09:31:53 2016
> New Revision: 70507
>
> URL: http://svn.reactos.org/svn/reactos?rev=70507&view=rev
> Log:
> [BOOTVID]
> Change the Blue Screen Font hardcoded into bootvid.dll to the Open Source "Anonymous Pro" font, which makes a nice 8x13 font.
> Blue Screens now look like this: http://fs5.directupload.net/images/160106/ehv6245t.png
>
> [BOOTVID_FONT_GENERATOR]
> In case you find an even better font, you now have a nice little tool to test that font and generate the corresponding FontData array for bootvid.
>
> Added:
> trunk/rosapps/applications/devutils/bootvid_font_generator/
> trunk/rosapps/applications/devutils/bootvid_font_generator/CMakeLists.txt (with props)
> trunk/rosapps/applications/devutils/bootvid_font_generator/bootvid_font_generator.c (with props)
> Modified:
> trunk/reactos/drivers/base/bootvid/arm/bootdata.c
> trunk/reactos/drivers/base/bootvid/i386/bootdata.c
> trunk/rosapps/applications/devutils/CMakeLists.txt
>
> [This mail would be too long, it was shortened to contain the URLs only.]
>
> Modified: trunk/reactos/drivers/base/bootvid/arm/bootdata.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/base/bootvid/arm/b…
>
> Modified: trunk/reactos/drivers/base/bootvid/i386/bootdata.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/base/bootvid/i386/…
>
> Modified: trunk/rosapps/applications/devutils/CMakeLists.txt
> URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/devutils/CMak…
>
> Added: trunk/rosapps/applications/devutils/bootvid_font_generator/CMakeLists.txt
> URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/devutils/boot…
>
> Added: trunk/rosapps/applications/devutils/bootvid_font_generator/bootvid_font_generator.c
> URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/devutils/boot…
>
>
>
Can I have commit access to !trunk branches for not forking to Git?
(for reviving the POSIX subsystem with the Newlib C library and adding
pthreads support)
Thanks,
I guess it take a decade to get things done in ReactOS? After a few had
reverted some code and stuff.
Like,
Convert COREINFOHEADER to BITMAPINFOHEADER before passing it to
NtGdiCreateDIBitmapInternal
Yeah~! Very Original!
Those that do not get it, research it! It's all in the mailing list!
James
That doesn't seem to make much sense. Why enumerate from the end? It
should rather enumerate from the start and skip the KdComPort. So far we
used COM1 as debug port on MSVC builds and COM2 as terminal debug port
for both freeldr and KDCOM. Preferably this should configurable. I
really don't like this unintuitive and quite random behaviour.
> +#ifdef KDDEBUG
> + /*
> + * Try to find a free COM port and use it as the KD debugging port.
> + * NOTE: Inspired by reactos/boot/freeldr/freeldr/comm/rs232.c, Rs232PortInitialize(...)
> + */
> + {
> + /*
> + * Start enumerating COM ports from the last one to the first one,
> + * and break when we find a valid port.
> + * If we reach the first element of the list, the invalid COM port,
> + * then it means that no valid port was found.
> + */
> + ULONG ComPort;
> + for (ComPort = MAX_COM_PORTS; ComPort > 0; ComPort--)
> + {
> + /* Check if the port exist; skip the KD port */
> + if ((ComPort != ComPortNumber) && CpDoesPortExist(UlongToPtr(BaseArray[ComPort])))
> + break;
> + }
> + if (ComPort != 0)
> + CpInitialize(&KdDebugComPort, UlongToPtr(BaseArray[ComPort]), DEFAULT_BAUD_RATE);
> + }
> +#endif
> +
> + KDDBGPRINT("KdDebuggerInitialize0\n");
>
>
>
Hi all
I'd like to report a bug, but can't figure out how to do this properly. Jira
requires being a registered user but does not tell how exactly one is
supposed to get that registration. I hope you have some other, more
user-friendly way for reporting bugs by "normal" users - people not so
intimate with the ReactOS development - or that you at least plan to provide
such a way in the near future.
Anyway, here's what I think warrants looking into in more detail: Apparently
there is still something that corrupts fastfat - triggerable from user-mode
programs. The automatic update function of Firefox (as well as other
derivatives like Pale Moon) seems to trigger a particularly nasty instance
of that. I think that if a new ReactOS version is going to be released now,
it will cause a lot of spurious bug reports from users that install Firefox
(it's a popular program after all), and wreck FastFAT during an update in
the background. In fact, many users may not be aware of the connection as
Firefox tends to update itself in a stealthy way and the user does not
really get to see what happens.
Steps to reproduce:
- install Firefox (or Palemoon, any version from the last couple of years,
except of course the latest one)
- open the about dialog in it
- it will start downloading an update
- it will copy the update into a temporary dir in the firefox install dir
- it will prompt the user for a restart
- look into the Firefox install dir, you will find (among other things) an
"update" subdir with temporary files, but so far everything looks OK
- now click restart in prompt
- it will do some filesystem operations for some seconds, quit, but not
restart
- look into the install dir again, now it will be a horrible mess of
unintelligible things with completely broken filenames
- you may not always be able to take that last look as ReactOS may lock-up
when you open the folder in explorer (or when you hit F5 if it was already
opened)
- in any case, ReactOS won't stay very stable for significant time
afterwards, even if it survives the look
- if it does stay stable for a while, you won't be able to delete the
directory nor any items in it, an attempt to delete them will fail, often
causing a lock-up
Affected versions of Firefox
- seemingly all from the recent decade
Affected SVN builds of ReactOS
- everything from recent years as far as I can tell, but see notes below
Additional notes
- I've only tested builds made from SVN with RosBE on Windows - but many
versions
- this bug seems to be always changing when FastFAT is touched in various
ROS SVN builds
- about half a yer ago it was always leading to a hard lock-up and the
filesystem was badly broken, even without opening the folder in Explorer,
the crash would not be far away
- some 3-4 months ago, the "survival" (no-crash) rate rose somewhat, but the
folder still got "filled" with various rubbish
- a month or 2 ago the filesystem at least tended to survive and the Firefox
directory seemed to be "empty" after an update - although it could not be
deleted even though nothing could be "seen" inside it, also a reinstall into
the same folder tended to work without crashing
- in the recent 1-2 weeks one FastFAT update brought back the bad old times,
after the failed update the Firefox directory is again getting filled with
broken items, and the number of those items that end up in there, seems to
have increased by a lot
Regards
Dimitrij Klingbeil
On 2015-12-08 23:54, rnaumann(a)svn.reactos.org wrote:
> --- trunk/reactos/base/shell/explorer/trayprop.cpp [iso-8859-1] (original)
> +++ trunk/reactos/base/shell/explorer/trayprop.cpp [iso-8859-1] Tue Dec 8 22:54:33 2015
> @@ -338,7 +338,7 @@
> VOID
> DisplayTrayProperties(IN HWND hwndOwner)
> {
> - PROPSHEET_INFO propInfo;
> + PROPSHEET_INFO propInfo = {0};
> PROPSHEETHEADER psh;
> PROPSHEETPAGE psp[2];
> WCHAR szCaption[256];
I would find this code much easier to understand if you passed 0 as the
start menu page's lParam, since it's not making use of it anyway.
Having it in both made me worry quite a lot about double frees and such
that would happen if both pages used the same structure.
Hi all,
I'm just digging into kbswitch and have several questions (later).
The major issue: kbswitch affects all windows at once, while it should
change the input language only for the current (focused) window.
I assume that kbswitch must preserve the active window, so that it can
know where to apply changes, and to re-activate that window when done.
As I don't know what's already implemented, I wrote a simple test
program, using
GetForegroundWindow() to determine the active window (hwnd),
GetWindowThreadProcessId() to get the related process handle, and
GetKeyboardLayout() to get the keyboard/language handle (hkl).
Tested on WinXP and ReactOS, the output looks correct. The hkl seems to
be composed of two words (hi: language and low: layout), which are
always the same on ReactOS. On XP a different keyboard layout can be
used for a language, but I cannot decipher the resulting encoding of the
layout. As soon as I try to change the layout for a language on ReactOS,
kbswitch shows the *layout* name, not the *language* name.
Q: Can somebody try to find out how to convert a HKL into language and
layout id's and/or names? (see GetLayoutIDByHkl)
Q: Is kbswitch notified of focus changes, and if so: how?
Then above sequence can be used to identify the related thread's
setting, and update the tray icon and menu accordingly.
Q: Is every process/thread already assigned a *private* hkl?
If not, this feature must be implemented before further updates.
So much for now
DoDi
Hello,
Let me invite you to the monthly status meeting taking place last
Thursday of a month, 26th of November, 19:00 UTC, as usual.
IRC service will only be started shortly before the meeting. Your
participation passwords and server address will be emailed to you
shortly before the meeting starts, and they are going to be different
once again as they are not stored in any database. Hopefully it's not
much of inconvenience.
Please send agenda proposals to me before the meeting.
Regards,
Aleksey Bragin
Hey all. I have some thoughts about our current patch situation. After
the last big strike regarding patches, which was around the Hackfest,
The count of them increased amazingly.
We got some new contributers, this year, which do a great work. Some of
our old contributers are still hacking like fire and mostly this are
small fixes with big impact. Easy to review.
I summed up some of them, to show which could get some attention. There
are also bigger patches, which would need a coordinated review, but add
very nice features (Swyters vbox fix for
example). I am sure that about 10 of them could make it.
Patches that are currently under review or active development
=============================================================
The following patches are the ones, which actually got some attention.
They all are slightly bigger ones.
CORE-10533 PATCH: Fix local network resolving
CORE-10440 PATCH: Fix issues of ws2_32_new
CORE-10367 Implement apphelp sdb layer
(More or less) simple patches, that would be nice2have for 0.4
==============================================================
These are all the patches from our actual most active contributers. Most
of them are very small and easy to understand.
Let's not forget them because contributers can become developers, which
we need so badly. It would be nice to have them in trunk
before release, if they are correct.
CORE-10550 clipbrd: Load the clipboard contents from a file
CORE-10476 Add a placeholder machine owner at second stage
installer to improve UX
CORE-10438 [shell32] 'Empty Recycle Bin' should be disabled
when no items are present
CORE-10437 [console] Add missing DS_MODALFRAME
CORE-10436 [shell32] OK button in run dialog should be disabled
by default
CORE-10410 [fdebug] Manifest and application title
CORE-10393 [RAPPS] Small Database Update
CORE-10310 Automatically format file size & assorted fixes for apps
CORE-9721 [notepad] Let the user know when an opened file is
modified
CORE-9959 shell32: patch for SHFileOperation (delete-operation)
CORE-6742 Can't dynamically change the resolution by resizing
in VirtualBox
Hacks(?) that would improve the look and feel in 0.4
====================================================
These patches contain hacks but it would be nice to have them in
release. I don't mean to apply them to trunk, but to the 0.4 branch.
Important is that, if this happens, enough regression testing is done.
CORE-9654 PATCH +Bugfix: UXTHEME draw text with shadows, fix
GetThemeSysColor
CORE-9533 Title icons are 32pixel downsized to 16pixel
CORE-5644 mspaint: selection border isn't visible
CORE-9689 Drive's properties theming problem
CORE-8925 Start menu has classic border when themes are enabled
Drive Type related patches
==========================
The author of these patches did some effort to fix the bug, which shows
the correct icon for specific drives.
I feel like I saw more than this 2 patches but I am not sure and don't
find more. We should collaborate with him and take care of this annoying
bug,
CORE-10221 Fix icons in My Computer
CORE-9622 Improvement to GetDriveType() Function
Victor's Patches
================
These patches are from Victor M. Calvo. He did a big effort to fix bugs,
which affect specifig apps and caused registry curruption.
He also proved his patches with apitests but almost nothing happened
with the patches.
CORE-9673 PATCH: BS_DIBPATTERN8x8 not supported
CORE-9672 PATCH: Rewrite RegQueryInfoKeyW
CORE-9666 PATCH: RegQueryValueExW fails to set properly the
REG_NONE type
CORE-9665 PATCH: RegQueryValueExW and RegQueryValueExA calls
accept bytes not chars.
CORE-9398 PATCH: Several fixes for
SetupInstallServicesFromInfSectionExW
CORE-8164 Fix a interexchanging values in Vga driver
CORE-8157 Fix a memcpy in Dhcpclient using the length in bytes.
CORE-8156 Fix a sanity check of a returned ConstructBitBlob
CORE-8077 GetDiskFreeSpaceW fixes
CORE-8076 SetVolumeLabelW and GetVolumeInformationW fixes
Cheers
Robert
Hi,
> +
> + /* The allowable IDs are between IDOK (0) and IDCONTINUE (11)
> inclusive */
> + if (wBtn >= IDCONTINUE)
> + return NULL;
> +
> + LoadStringW(User32Instance, wBtn, (LPWSTR)&btnStr, 0);
> + return btnStr;
If IDCONTINUE is inclusive then the check in the next line should be >,
shouldn't it?
Best regards,
Michael
Mixing formatting changes, changes that should and changes that
shouldn't affect behavior, and making indentation inconsistent in the
progress is my favorite.
:\
On 2015-11-19 00:46, hbelusca(a)svn.reactos.org wrote:
> Author: hbelusca
> Date: Wed Nov 18 23:46:38 2015
> New Revision: 69935
>
> URL: http://svn.reactos.org/svn/reactos?rev=69935&view=rev
> Log:
> [USER32]
> MessageBoxIndirect fixes by Carlo Bramini:
> - Implemented loading of text and caption if they are detected as resource IDs.
> - Use direct resource string pointers with LoadStringW and use the returned string length.
> - Dramatically improve the implementation of ID and resource string assignments, by using a little look up table. This removes some ugly, difficult to maintain copy-paste code.
> - Fix the scaling of logical coordinates by making it aware of rounding, i.e. the size of the controls is now calculated correctly.
> CORE-10352 #resolve #comment Thank you for the patch! :D
Hi all,
We suffered from several Infrastructure problems in one of our
datacenters today, with the cause that multiple servers were temporarily
unreachable.
All problems should be finally fixed now though. If you still encounter
related problems, please reply to my mail.
Cheers,
Colin
In fact in this case it wouldn't make a difference, since the bool would
be converted to a LONG. But using TRUE/FALSE seems to be appropriate here.
Am 22.10.2015 um 19:37 schrieb gedmurphy(a)svn.reactos.org:
> Author: gedmurphy
> Date: Thu Oct 22 17:37:51 2015
> New Revision: 69650
>
> URL: http://svn.reactos.org/svn/reactos?rev=69650&view=rev
> Log:
> The c++ bool is 1 byte, not 4. Thanks Thomas
>
> Modified:
> trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp
> trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.h
>
> Modified: trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/M…
> ==============================================================================
> --- trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp [iso-8859-1] Thu Oct 22 17:37:51 2015
> @@ -786,7 +786,7 @@
> // we set a timer to run in 500ms, which should leave enough time for all
> // the messages to come through. Wrap so we don't set multiple timers
> //
> - if (InterlockedCompareExchange((LONG *)&This->m_RefreshPending, true, false) == false)
> + if (InterlockedCompareExchange((LONG *)&This->m_RefreshPending, TRUE, FALSE) == FALSE)
> {
> SetTimer(hwnd, REFRESH_TIMER, 500, NULL);
> }
> @@ -807,7 +807,7 @@
> KillTimer(hwnd, REFRESH_TIMER);
>
> // Allow more change notifications
> - InterlockedExchange((LONG *)&This->m_RefreshPending, false);
> + InterlockedExchange((LONG *)&This->m_RefreshPending, FALSE);
> }
> break;
> }
>
> Modified: trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.h
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/M…
> ==============================================================================
> --- trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.h [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.h [iso-8859-1] Thu Oct 22 17:37:51 2015
> @@ -17,7 +17,7 @@
> HMENU m_hMenu;
> HMENU m_hActionMenu;
> int m_CmdShow;
> - bool m_RefreshPending;
> + BOOL m_RefreshPending;
>
> public:
> CDeviceManager(void);
>
>
>
Hi all,
After Victor's commit of so many files to our press-media repository,
I think we should establish some binding rules for it:
* There is no need to have a single file in X different formats in the
repository. Let's only keep it there in the best format. In particular,
that means:
Vector formats > Dynamic raster formats > Static raster formats
E.g.: AI/SVG > PSD/TIFF > PNG
The only exception to the rule can be made if one of the better formats
is highly proprietary (like AI). In that case, an additional SVG file or
(as a last resort) high-resolution PNG file may accompany it.
I don't consider PSD proprietary anymore, because almost every
Open-Source and Closed-Source graphics tool can work with them.
Totally uncompressed formats (like BMP) have no reason to stay in the
repository at all when better compressed formats (like PNG) are available.
I would make the only exception to e.g. the BIOS logo for the MiniPC,
because this one needs to be a BMP with special settings for technical
reasons.
* Only directly ReactOS-related media whose copyright is clarified
should go there. Third-party graphics can pose a serious legal trouble.
Additionally, Stock graphics can be found on many platforms. There is no
need to let press-media become a repository for this.
As long as there are no objections or additions, I would like Victor to
remove some redundant files according to these rules.
Cheers,
Colin
I am in traffic in the very centre of Moscow right now and most probably won't be on time for the meeting start.
Please start the meeting without me, and first topic of agenda which I would like you to start with is the release plans. I will join you ASAP
Regards,
Aleksey
Hello,
Let me invite you to the monthly status meeting taking place last
Thursday of a month, 29th of October, 19:00 UTC, as usual.
IRC service will only be started shortly before the meeting. Your
participation passwords and server address will be emailed to you
shortly before the meeting starts, and they are going to be different
once again as they are not stored in any database. Hopefully it's not
much of inconvenience.
Please send agenda proposals to me before the meeting.
Regards,
Aleksey Bragin
Hi all,
I will upgrade the Web Server Operating System upcoming Monday
(2015/10/19) around 11:00 CEST. During this time, the ReactOS Website
and related services will be temporarily offline.
As always, I will try to keep the downtime low :)
Cheers,
Colin
This is wrong, wrong, wrong.
1) The feature needs to be enabled on all processors, not just one. There's
a reason for that loop.
2) ValidKernelPte/Pde being marked global will make ALL kernel pages
global. This is probably not what you want.
Best regards,
Alex Ionescu
On Wed, Oct 14, 2015 at 12:33 PM, <sginsberg(a)svn.reactos.org> wrote:
> Author: sginsberg
> Date: Wed Oct 14 19:33:35 2015
> New Revision: 69528
>
> URL: http://svn.reactos.org/svn/reactos?rev=69528&view=rev
> Log:
> [NTOS]
> Add super-complicated handling of global pages to KeFlushCurrentTb (pretty
> much the same code which has been in HalpFlushTLB for the past ~6 years).
> This should be all that is required to make this feature work (everything
> else being in place already), and *seems* to work fine but is disabled
> under a switch until tested thoroughly.
>
> Global pages, an important optimization that allows for not flushing the
> whole x86 TLB every time CR3 is changed (typically on context switch to a
> new process, or during process attach/detach), relies on us doing extra
> work whenever we do alter a global page. This is likely where any bugs will
> have to be flushed out!
>
> Fixup Ki386EnableGlobalPage while we are at it -- disable/restore
> interrupts properly, and verify PGE-bit isn't set (nothing should have
> touched it before this routine, which is responsible for initializing it,
> so we shouldn't have to disable it). Fix, but disable, the CPU-sync spin as
> well as there should be no particular reason to do this for PGE-enabling
> during initialization (no other processor will be messing with PTEs at this
> stage, as compared to a call to KeFlushEntireTb).
>
> Everyone, repeat after me: Global pages are awesome!
>
> Modified:
> trunk/reactos/ntoskrnl/include/ntoskrnl.h
> trunk/reactos/ntoskrnl/ke/i386/cpu.c
> trunk/reactos/ntoskrnl/ke/i386/patpge.c
> trunk/reactos/ntoskrnl/mm/ARM3/i386/init.c
>
> Modified: trunk/reactos/ntoskrnl/include/ntoskrnl.h
> URL:
> http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/ntoskrnl.…
>
> ==============================================================================
> --- trunk/reactos/ntoskrnl/include/ntoskrnl.h [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/include/ntoskrnl.h [iso-8859-1] Wed Oct 14
> 19:33:35 2015
> @@ -98,6 +98,14 @@
> #define ASSERT NT_ASSERT
> #endif
>
> +
> +//
> +// Switch for enabling global page support
> +//
> +
> +//#define _GLOBAL_PAGES_ARE_AWESOME_
> +
> +
> /* Internal Headers */
> #include "internal/ntoskrnl.h"
> #include "config.h"
>
> Modified: trunk/reactos/ntoskrnl/ke/i386/cpu.c
> URL:
> http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/cpu.c?rev…
>
> ==============================================================================
> --- trunk/reactos/ntoskrnl/ke/i386/cpu.c [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/ke/i386/cpu.c [iso-8859-1] Wed Oct 14
> 19:33:35 2015
> @@ -878,8 +878,37 @@
> NTAPI
> KeFlushCurrentTb(VOID)
> {
> +
> +#if !defined(_GLOBAL_PAGES_ARE_AWESOME_)
> +
> /* Flush the TLB by resetting CR3 */
> __writecr3(__readcr3());
> +
> +#else
> +
> + /* Check if global pages are enabled */
> + if (KeFeatureBits & KF_GLOBAL_PAGE)
> + {
> + ULONG Cr4;
> +
> + /* Disable PGE */
> + Cr4 = __readcr4() & ~CR4_PGE;
> + __writecr4(Cr4);
> +
> + /* Flush everything */
> + __writecr3(__readcr3());
> +
> + /* Re-enable PGE */
> + __writecr4(Cr4 | CR4_PGE);
> + }
> + else
> + {
> + /* No global pages, resetting CR3 is enough */
> + __writecr3(__readcr3());
> + }
> +
> +#endif
> +
> }
>
> VOID
>
> Modified: trunk/reactos/ntoskrnl/ke/i386/patpge.c
> URL:
> http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/patpge.c?…
>
> ==============================================================================
> --- trunk/reactos/ntoskrnl/ke/i386/patpge.c [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/ke/i386/patpge.c [iso-8859-1] Wed Oct 14
> 19:33:35 2015
> @@ -17,40 +17,41 @@
>
> /* FUNCTIONS
> *****************************************************************/
>
> +INIT_SECTION
> ULONG_PTR
> NTAPI
> -INIT_FUNCTION
> Ki386EnableGlobalPage(IN ULONG_PTR Context)
> {
> - PLONG Count = (PLONG)Context;
> - ULONG Cr4, Cr3;
> + //PLONG Count;
> +#if defined(_GLOBAL_PAGES_ARE_AWESOME_)
> + ULONG Cr4;
> +#endif
> + BOOLEAN Enable;
>
> /* Disable interrupts */
> - _disable();
> -
> - /* Decrease CPU Count and loop until it's reached 0 */
> - do {InterlockedDecrement(Count);} while (!*Count);
> -
> - /* Now check if this is the Boot CPU */
> - if (!KeGetPcr()->Number)
> - {
> - /* It is.FIXME: Patch KeFlushCurrentTb */
> - }
> -
> - /* Now get CR4 and make sure PGE is masked out */
> + Enable = KeDisableInterrupts();
> +
> + /* Spin until other processors are ready */
> + //Count = (PLONG)Context;
> + //InterlockedDecrement(Count);
> + //while (*Count) YieldProcessor();
> +
> +#if defined(_GLOBAL_PAGES_ARE_AWESOME_)
> +
> + /* Get CR4 and ensure global pages are disabled */
> Cr4 = __readcr4();
> - __writecr4(Cr4 & ~CR4_PGE);
> -
> - /* Flush the TLB */
> - Cr3 = __readcr3();
> - __writecr3(Cr3);
> + ASSERT(!(Cr4 & CR4_PGE));
> +
> + /* Reset CR3 to flush the TLB */
> + __writecr3(__readcr3());
>
> /* Now enable PGE */
> - DPRINT("Global page support detected but not yet taken advantage
> of\n");
> - //__writecr4(Cr4 | CR4_PGE);
> -
> - /* Restore interrupts */
> - _enable();
> + __writecr4(Cr4 | CR4_PGE);
> +
> +#endif
> +
> + /* Restore interrupts and return */
> + KeRestoreInterrupts(Enable);
> return 0;
> }
>
>
> Modified: trunk/reactos/ntoskrnl/mm/ARM3/i386/init.c
> URL:
> http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/i386/init…
>
> ==============================================================================
> --- trunk/reactos/ntoskrnl/mm/ARM3/i386/init.c [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/mm/ARM3/i386/init.c [iso-8859-1] Wed Oct 14
> 19:33:35 2015
> @@ -249,15 +249,18 @@
> PMMPFN Pfn1;
> ULONG Flags;
>
> +#if defined(_GLOBAL_PAGES_ARE_AWESOME_)
> +
> /* Check for global bit */
> -#if 0
> if (KeFeatureBits & KF_GLOBAL_PAGE)
> {
> /* Set it on the template PTE and PDE */
> ValidKernelPte.u.Hard.Global = TRUE;
> ValidKernelPde.u.Hard.Global = TRUE;
> }
> +
> #endif
> +
> /* Now templates are ready */
> TempPte = ValidKernelPte;
> TempPde = ValidKernelPde;
>
>
>
This is checking for 8-byte alignment on x86, not 16-byte.
On Sun, Oct 11, 2015 at 2:51 PM, <pschweitzer(a)svn.reactos.org> wrote:
> if (!((ULONG_PTR)Buffers[i] & 0x2))
Best regards,
Alex Ionescu
Hi !
I don't think this commit constitutes a nice improvement for NTVDM at its
present status:
- having the precise list of the used headers in each .c file helped me in
knowing at a glance which functionalities a given .c needed,
- therefore enabling me to find better places where to put the functions and
possibly reduce the number of headers in the future (refactoring).
- This broke my numerous local changes regarding e.g. a modularization of
the CPU layer in NTVDM, video layer, ...
- Finally, stuffing indistinctively *all* the headers (including the private
ones like bios32p.h which purpose was to be used in the sources of one
module only) inside the PCH ntvdm.h, makes for example BIOS or DOS functions
visible inside hardware modules like ps2.h, which is completely illogical
when you try to modularize NTVDM at source level, by completely separating
hardware emulation from bios code and DOS emulation, etc... .
Therefore I will revert your commit tomorrow, while keeping a diff and put
it in a JIRA report.
Cheers,
Hermès.
________________________________________
[ros-diffs] [akhaldi] 69435: [NTVDM] Improve the PCH situation.
akhaldi at svn.reactos.org akhaldi at svn.reactos.org
Sat Oct 3 21:47:46 UTC 2015
Previous message: [ros-diffs] [spetreolle] 69434: [user32_apitest] 0x%lu
does not mean anything correct.
Next message: [ros-diffs] [spetreolle] 69436: [ROSTESTS] Fix 0x%lu
specifier. Add cmake file for notificationtest.
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
________________________________________
Author: akhaldi
Date: Sat Oct 3 21:47:46 2015
New Revision: 69435
URL: http://svn.reactos.org/svn/reactos?rev=69435&view=rev
Log:
[NTVDM] Improve the PCH situation.
On 28/09/2015 11:01, sginsberg(a)svn.reactos.org wrote:
> Author: sginsberg
> Date: Mon Sep 28 09:01:11 2015
> New Revision: 69393
>
> URL: http://svn.reactos.org/svn/reactos?rev=69393&view=rev
> Log:
> [NTOS] Fix the Ob wait system calls to only catch the exceptions that are expected to be raised by the Ke wait functions (and not potentially silently catching *any* exception and corrupting everything in the process). Also fixup some code logic. SEH Mega Fixup 1/???
>
> Modified:
> trunk/reactos/ntoskrnl/ob/obwait.c
>
> Modified: trunk/reactos/ntoskrnl/ob/obwait.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ob/obwait.c?rev=6…
> ==============================================================================
> --- trunk/reactos/ntoskrnl/ob/obwait.c [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/ob/obwait.c [iso-8859-1] Mon Sep 28 09:01:11 2015
> @@ -49,12 +49,12 @@
> IN BOOLEAN Alertable,
> IN PLARGE_INTEGER TimeOut OPTIONAL)
> {
> - PKWAIT_BLOCK WaitBlockArray = NULL;
> + PKWAIT_BLOCK WaitBlockArray;
> HANDLE Handles[MAXIMUM_WAIT_OBJECTS], KernelHandle;
> PVOID Objects[MAXIMUM_WAIT_OBJECTS];
> PVOID WaitObjects[MAXIMUM_WAIT_OBJECTS];
> - ULONG i = 0, ReferencedObjects = 0, j;
> - KPROCESSOR_MODE PreviousMode = ExGetPreviousMode();
> + ULONG i, ReferencedObjects, j;
> + KPROCESSOR_MODE PreviousMode;
> LARGE_INTEGER SafeTimeOut;
> BOOLEAN LockInUse;
> PHANDLE_TABLE_ENTRY HandleEntry;
> @@ -65,31 +65,26 @@
> NTSTATUS Status;
> PAGED_CODE();
>
> - /* Enter a critical region since we'll play with handles */
> - LockInUse = TRUE;
> - KeEnterCriticalRegion();
> -
> /* Check for valid Object Count */
> if ((ObjectCount > MAXIMUM_WAIT_OBJECTS) || !(ObjectCount))
> {
> /* Fail */
> - Status = STATUS_INVALID_PARAMETER_1;
> - goto Quickie;
> + return STATUS_INVALID_PARAMETER_1;
> }
>
> /* Check for valid Wait Type */
> if ((WaitType != WaitAll) && (WaitType != WaitAny))
> {
> /* Fail */
> - Status = STATUS_INVALID_PARAMETER_3;
> - goto Quickie;
> - }
> -
> - /* Enter SEH */
> - _SEH2_TRY
> - {
> - /* Check if the call came from user mode */
> - if (PreviousMode != KernelMode)
> + return STATUS_INVALID_PARAMETER_3;
> + }
> +
> + /* Enter SEH for user mode */
> + PreviousMode = ExGetPreviousMode();
> + if (PreviousMode != KernelMode)
> + {
> + /* Enter SEH */
> + _SEH2_TRY
No, this is plain wrong.
This is not because you're in kernel mode that the world is marvelous
and callers trustable.
A caller can pass you buggy address and you HAVE to wrap the
RtlCopyMemory in SEH to make sure that if a buggy address is passed, the
whole system isn't brought down (that's the whole purpose of the copy
after all!).
In case you have a doubt, just put some random:
Status = ZwWaitForMultipleObjects(2, (void **)0x42424242, WaitAll,
FALSE, NULL);
In a kernel component. In w2k3, you'll get Status = STATUS_ACCESS_VIOLATION
In ReactOS, with your changes: BSOD.
Please before doing random changes that you believe are right: do testing.
Alex already told you that.
Cheers,
--
Pierre Schweitzer <pierre at reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
Hello,
Let me invite you to the monthly status meeting taking place last
Thursday of a month, 24th of September, 19:00 UTC, as usual.
IRC service will only be started shortly before the meeting. Your
participation passwords and server address will be emailed to you
shortly before the meeting starts, and they are going to be different
once again as they are not stored in any database. Hopefully it's not
much of inconvenience.
Please send agenda proposals to me before the meeting.
Regards,
Aleksey Bragin
ion(a)svn.reactos.org wrote:
> - Add correct MS-PL (Public) License. Not added to build/used, but I
> need some of the headers/data structures in here.
> - Source:
https://github.com/Microsoft/Windows-driver-samples/blob/master/filesys/cdfs
Yay! No more messing around with DDK licenses!
Someone should take the other samples there and replace our DDK-inspired
components (e.g. classpnp and disk) by these ones licensed under MS-PL.
Cheers,
Colin
hbelusca(a)svn.reactos.org wrote:
> +// FIXME! FIXME! Do it in a portable way!!
> typedef unsigned char BYTE;
> typedef unsigned short WORD;
> typedef unsigned long DWORD;
Try using our include/host/typedefs.h, which provides the most popular
Windows type definitions in a portable way.
- Colin
cwittich(a)svn.reactos.org wrote:
> Modified: trunk/reactos/base/applications/cmdutils/mode/mode.c
What is that tool for anyway?
Windows has a 16-bit "mode.com" for compatibility and I believe the
actual "mode" command is built-in into cmd.exe these days.
Cheers,
Colin
On 2015-09-04 03:14, hbelusca(a)svn.reactos.org wrote:
> Also I suggest we turn this file (and maybe also /lib/sdk/crt/except/i386/cpp.s) into a "msvc-thiscall.c" as it is already done in some other DLLs (like in ole32, riched20).
ole32 and riched20 don't export mangled names.
MSVC ignores redirects for them in the def file so it needs to be
assembly (or C++ code).
On 2015-08-22 13:16, bfreisen(a)svn.reactos.org wrote:
> [HHPCOMP]
> Improve functionality of Windows MSVC build. Based on a WIP patch by Michael Fritscher.
> See CORE-10019.
> +/* if O_BINARY is not defined, the system is probably not expecting any such flag */
> +#ifndef O_BINARY
> +#define O_BINARY 0
> +#endif
> - chm->fd = creat(filename, 0644);
> + chm->fd = open(filename, O_RDWR | O_CREAT | O_TRUNC | O_BINARY, 0644);
Hmm... fopen wouldn't have this problem ;)
On 2015-08-18 14:26, hbelusca(a)svn.reactos.org wrote:
> [NTVDM]: Initialize the PSP' memory control block owner name with the file name (without extension, and up to 8 chars) of the started program.
Shouldn't that use GetShortPathName to make sure the program can find
itself on disk? :p
Hi all,
First of all, let me thank everybody who could make it to Aachen for
Hackfest! Thanks also go to all the others on IRC, Twitter, etc. who
supported us during that time!
It was a pleasure to have you all here and simply a great week! :)
Now let's spread the word even more, so that everyone can get an idea of
our Hackfest:
Hackfest report
===============
Aleksey suggested (and volunteered!) to write a report about our
Hackfest for the website. He wants someone to help him though.
Victor, as you did a pretty great job at live streaming every day, would
you help Aleksey here?
If there are other volunteers, just raise your voice :)
Photos
======
I've created a folder "ReactOS Hackfest 2015" in the "Developers" file
section on IServ. You already find all my photos there (among them,
first group photos from Saturday).
Please share your photos as well, either by uploading through the
website or through SFTP (WinSCP is a great tool for this).
If you're not in the "Developers" section, but participated in the
Hackfest, please tell either Christoph, Pierre or me and we will add you.
Cheers,
Colin
Just wonder why no one has yet fixed the compiling errors you get if you
use visual studio.
All the errors are not code related but linking problem, so I wonder why no
body solve all the compiler errors.
Thanks,
Alberto Vaudagna
Hi everyone,
Some of you probably remember me. I was involved with trying to get
audio/sound implemented in ReactOS a few years ago.
To be honest, my progress was rather poor, I managed to write a few bits of
code but never really had a proper understanding of kernel/OS development or
CPU/system architectures. Additionally, whilst I could grasp how the
multimedia APIs (MME) in NT4 worked, and how they interacted with the
drivers (audio device X opens device Y and writes buffered data to it) for
Windows 2000 and later, Kernel Streaming was used which partly built on top
of the older implementation but added a load of new stuff.
This complicated matters as firstly, KS uses COM (which I still struggle to
wrap my head around) in kernel-mode, secondly there were multiple components
involved between the application and the hardware (wdmaud.drv -> wdmaud.sys
-> ks.sys -> portcls.sys -> driver as far as I remember), and finally I
really struggled to find example code and thorough documentation describing
how it all worked.
Ultimately I gave up with that and intended to move to another platform to
develop multimedia applications. Not much happened with that.
I remember there were complaints from application developers over Kernel
Streaming offering poor latency - instead developers would turn to other
technologies such as ASIO or DirectSound. So for recent versions of Windows
(Vista onwards?) Microsoft implemented a new, user-mode sound system
(WASAPI) which again uses COM but is pretty nicely documented, with code
samples.
Having done a little reading about this, it renewed my interest. It still
uses COM, and KS.SYS is still present (I assume for compatibility?) but as a
lot of this is implemented in user-space I suspect it'd be easier to
develop/test.
Aside from this, over the past few years I've also gained a better
understanding of topics I didn't know much about previously and I feel more
confident at being able to write lower-level stuff that works properly. I've
also developed more of a keen interest in how Windows works.
So basically I'm considering implementing the current Windows audio system
in ReactOS. I'd imagine we don't need to be too concerned about audio
drivers themselves (at least, initially) as vendors tend to offer these and
it's not like we need sound immediately post-install!
The only thing I really lack now is knowledge of how to implement COM
classes - at least, outside of using Visual Studio. Anyone got recommended
reading or example code for this?
Andrew
This patch, as it, is really dangerous. MS allows null pointer in its
Read/Write routines, but they are wrapped inside a SEH block, to prevent
nasty things to happen in case of a null pointer dereference.
Here we don't, meaning that a null pointer here will cause major damages.
Furthermore, your commit regressed ntdll:file:
https://reactos.org/sites/all/modules/reactos/testman/compare.php?ids=40042…
Regards,
On 08/07/2015 05:30 AM, aandrejevic(a)svn.reactos.org wrote:
> Author: aandrejevic
> Date: Fri Aug 7 03:30:05 2015
> New Revision: 68607
>
> URL: http://svn.reactos.org/svn/reactos?rev=68607&view=rev
> Log:
> [FASTFAT]
> Irp->UserBuffer being NULL doesn't indicate any error. It could be that the
> caller really wants the result stored at address NULL (which can be valid,
> and is valid by default for programs like NTVDM).
>
>
> Modified:
> trunk/reactos/drivers/filesystems/fastfat/rw.c
>
> Modified: trunk/reactos/drivers/filesystems/fastfat/rw.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfa…
> ==============================================================================
> --- trunk/reactos/drivers/filesystems/fastfat/rw.c [iso-8859-1] (original)
> +++ trunk/reactos/drivers/filesystems/fastfat/rw.c [iso-8859-1] Fri Aug 7 03:30:05 2015
> @@ -656,7 +656,7 @@
> }
>
> Buffer = VfatGetUserBuffer(IrpContext->Irp, BooleanFlagOn(IrpContext->Irp->Flags, IRP_PAGING_IO));
> - if (!Buffer)
> + if (!Buffer && IrpContext->Irp->MdlAddress)
> {
> Status = STATUS_INVALID_USER_BUFFER;
> goto ByeBye;
> @@ -927,7 +927,7 @@
> OldFileSize = Fcb->RFCB.FileSize;
>
> Buffer = VfatGetUserBuffer(IrpContext->Irp, BooleanFlagOn(IrpContext->Irp->Flags, IRP_PAGING_IO));
> - if (!Buffer)
> + if (!Buffer && IrpContext->Irp->MdlAddress)
> {
> Status = STATUS_INVALID_USER_BUFFER;
> goto ByeBye;
>
>
--
Pierre Schweitzer <pierre(a)reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
Hello,
i dont know if this list is the correct place to post this,
I found this software some weeks ago, and i thought it would be interesting
to have it running in ReactOS.
But, according its website, support for Windows XP has been stopped. So
question is, what about asking author to reenable XP support via ReactOS? :)
http://sourceforge.net/projects/vcxsrv/
Dear core developers,
Is it possible to use Windows XP based WDM sound drivers with Reactos
0.4-CLT2015?
Is it possible to make something so specific WDM sound driver can be
incorporated to Live CD so it would work out of The box?
If there is issues with using various sound drivers, how complex would
bew for You to add support for general USB audio device.
Last plea.
Which dlls would had to be redesigned so NVDA screen reader would be used?
Oleacc.dll and other mSAA based libraries?
Thank You very much for Yours answers.
With kindness regards.
Janusz Chmiel
Hello. I am Jared Smudde aka. Pi_User5. I propose that we move most of the icons in trunk into a central folder in the media folder. Some icons will need to stay because they might be application specific. The folder can be called icons and it would be organized according to http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.h…. This way, we can eliminate duplicate icons thus making trunk slightly smaller. It will also make changing ReactOS to a different icon theme much easier. This idea was suggested by gigaherz and I would like to see it done. Thanks!
Jared
Hi
On my issue CORE-9641 <https://jira.reactos.org/browse/CORE-9641> Victor
Martinez made a comment saying that Eric Kohl is currently working on
partitions. If that is the case, what kind of changes are being worked on?
Since I created another issue related to that (CORE-9661
<https://jira.reactos.org/browse/CORE-9661>), if this is already worked
on, I don't want to look into it either, otherwise this would be what I
would fix next.
mfg,
Gerhard Gruber
On Wed, Jun 24, 2015 at 9:26 AM, <cfinck(a)svn.reactos.org> wrote:
> cbSize
Well, you may at least want to validate that your dwOffsets are within
cbSize?
Best regards,
Alex Ionescu
On 2015-06-29 20:26, ekohl(a)svn.reactos.org wrote:
> Modified: trunk/reactos/ntoskrnl/config/cmmapvw.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/config/cmmapvw.c?…
> ==============================================================================
> --- trunk/reactos/ntoskrnl/config/cmmapvw.c [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/config/cmmapvw.c [iso-8859-1] Mon Jun 29 18:26:56 2015
> @@ -29,3 +29,54 @@
> Hive->PinnedViews = 0;
> Hive->UseCount = 0;
> }
> +
> +VOID
> +NTAPI
> +CmpDestroyHiveViewList(IN PCMHIVE Hive)
> +{
> + PCM_VIEW_OF_FILE CmView;
> + PLIST_ENTRY EntryList;
> +
> + /* Do NOT destroy the views of read-only hives */
> + ASSERT(Hive->Hive.ReadOnly == FALSE);
> +
> + /* Free all the views inside the Pinned View List */
> + EntryList = RemoveHeadList(&Hive->PinViewListHead);
> + while (EntryList != &Hive->PinViewListHead)
In case you haven't found it yourself yet maybe I can speed things up in
identifying the test failures here:
I made RemoveHeadList on an empty list cause a security check failure
a while back because when done unintentionally it can indicate a bug in
the code, while OTOH it's super easy to avoid.
So I'm guessing this is probably the cause, and should use a
while (!IsListEmpty()) RemoveHeadList(); or similar pattern.
If you have strong feelings against this check (which MS's headers
don't do), let me know.
> + {
> + CmView = CONTAINING_RECORD(EntryList, CM_VIEW_OF_FILE, PinViewList);
> +
> + /* FIXME: Unmap the view if it is mapped */
> +
> + ExFreePool(CmView);
> +
> + Hive->PinnedViews--;
> +
> + EntryList = RemoveHeadList(&Hive->PinViewListHead);
> + }
> +
> + /* The Pinned View List should be empty */
> + ASSERT(IsListEmpty(&Hive->PinViewListHead) == TRUE);
> + ASSERT(Hive->PinnedViews == 0);
> +
> + /* Now, free all the views inside the LRU View List */
> + EntryList = RemoveHeadList(&Hive->LRUViewListHead);
> + while (EntryList != &Hive->LRUViewListHead)
> + {
> + CmView = CONTAINING_RECORD(EntryList, CM_VIEW_OF_FILE, LRUViewList);
> +
> + /* FIXME: Unmap the view if it is mapped */
> +
> + ExFreePool(CmView);
> +
> + Hive->MappedViews--;
> +
> + EntryList = RemoveHeadList(&Hive->LRUViewListHead);
> + }
Hello,
Let me invite you to the monthly status meeting taking place 25th of
June, 19:00 UTC, as always.
IRC service will only be started shortly before the meeting. Your
participation passwords and server address will be emailed to you
shortly before the meeting starts, and they are going to be different
once again as they are not stored in any database. Hopefully it's not
much of inconvenience.
Please send agenda proposals to me before the meeting.
One point for agenda would be discussion of our upcoming Hackfest in
Aachen, which is going to be awesome (the Hackfest, and hopefully the
discussion too ;))
Regards,
Aleksey Bragin
Join us for the very first ReactOS Hackfest from Friday, 7th August to
Wednesday, 13th August 2015, in the German city of Aachen. Discover
Germany's most-Western city in the direct neighborhood of Belgium and
the Netherlands. Within the historical city center, Aachen offers a
scientific environment and a high density of pubs. Let's catch this
atmosphere to code the week away and achieve great results as a team!
===> It is now time to plan your trip! <===
Flights and Accommodation won't get cheaper.
You find all details on this Wiki page:
https://reactos.org/wiki/ReactOS_Hackfest_2015
Don't forget to add your ideas and travelling details to this page:
https://reactos.org/wiki/ReactOS_Hackfest_2015/Lists
If you have any further questions, just drop me a line by E-Mail or call
me on the mobile phone number I sent to ros-priv.
Looking forward to meet you!
With best regards,
Colin Finck
Hi all,
After some attempts yesterday and today, the VMware Testbots are finally
fixed. Due to a misconfiguration, they were unfortunately testing the
same revision 65663 all the time.
I'm going to delete the duplicate testings for r65663 once I have some
time. Unless somebody is interested in the most detailed information
about randomly failing Wine tests ;)
Cheers,
Colin
Am 14.06.2015 um 18:00 schrieb pschweitzer(a)svn.reactos.org:
> Author: pschweitzer
> Date: Sun Jun 14 16:00:27 2015
> New Revision: 68137
>
>
> - Proc = (1ULL << Processor) >> 0x20;
> + Proc = (1ULL << Processor) >> MAXIMUM_PROCESSORS;
This is effectively the same as "Proc = (Processor ==
MAXIMUM_PROCESSORS);" which is always 0.
Timo
This looks great, but I hope you're aware of the limitations of DllMain.
If the test gets more complex, it might be better to do a separate
CreateRemoteThread call on an exported function after the dll has been
loaded.
Although I guess as long as things work, this is fine ;)
(maybe this is related to the SEH issue you mention in the next commit,
not sure)
On 2015-06-08 19:15, cfinck(a)svn.reactos.org wrote:
> [LOCALSPL_APITEST]
> Write an API-Test for localspl.dll. As the original localspl.dll from Windows Server 2003 relies on proper initialization inside spoolsv.exe, we cannot test it standalone as usual.
> +// Running the tests from the injected DLL and redirecting their output to the pipe.
> +BOOL WINAPI
> +DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
> +{
> + char szTestName[150];
> + DWORD cbRead;
> + FILE* fpStdout;
> + HANDLE hCommandPipe;
> + int iOldStdout;
> +
> + // We only want to run our test once when the DLL is injected to the process.
> + if (fdwReason != DLL_PROCESS_ATTACH)
> + return TRUE;
Quick note: Files that get embedded into binaries or put on the CD
should not use native EOL, but CRLF.
This applies e.g. to inf files, as well as text files that are
resources (which I believe is what these inis are?).
The idea is that in a perfect world the CD image build by a Unix
builder is identical to the one built by a Windows builder.
On 2015-06-06 20:27, akhaldi(a)svn.reactos.org wrote:
> [LAUTUS] Make the text files UTF-8 without BOM, and convert them to UTF-16 LE at compile time. Remove the now unneeded application/octet-stream type property and set native EOL one. CORE-9770
> Propchange: trunk/reactos/media/themes/lautus.msstyles/textfiles/NormalNormal.INI
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
Hi,
The names for our builders / testers don't seem to be optimal to me. And
since they seem to be sorted in the waterfall display alphabetically
now, I suggest renaming them in the following way:
Build_GCCLin_Debug
Build_GCCLin_Release
Build_GCCWin
Build_MSVC_x64
Build_MSVC_x86
Test_KVM
Test_VBox
Test_VMW
Test_VMW_Hybrid
Test_WHS
This way it is much more consistent, limited to actually useful
information and would sort them nicely with builders left and testers right.
Regards,
Timo
Dear all,
We have proceed to a complete reimplementation of authentication server
which serves Jira & Fisheye. The purpose is to rely on something
maintained and stable.
It should not change anything for you on daily usage. 58 accounts have
been left out and will not be able to connect to Jira due to
incompatible account name (using invalid chars). If you happen to be
incapable of log in, please contact me so that I can rename your account.
New accounts cannot be created with such invalid chars any longer.
As a side note, this was a major blocker for our upgrade to Jira 6. If
we do not spot anything wrong with our new authentication mechanism,
then, then the upgrade to Jira 6 should happen in the next days.
With my best regards,
--
Pierre Schweitzer <pierre(a)reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
Hi all,
In order to verify the exact behaviour of localspl.dll on Windows Server
2003, I'm trying to write an API-Test for it. This is no problem for
winspool.drv or even the Print Processor functions of localspl.dll, but
its Print Provider functions pose some serious problems:
* You get a table of function pointers by calling InitializePrintProvidor.
* Instead of just handing over the pointers, this function first calls
many undocumented ones from spoolss.dll, including CacheAddName,
CacheCreateAndAddNode, GetServerPolicy, SplInitializeWinSpoolDrv,
SplIsUpgrade.
* Out of these undocumented functions, GetServerPolicy is the most
problematic one, because it itself relies on a function pointer given by
spoolsv.exe to spoolss.dll in an initialization function. My API-Test is
not spoolsv.exe, so I don't initialize spoolss.dll the same way. Thus,
GetServerPolicy will fail and InitializePrintProvidor as well.
* For now, I worked around this problem by stubbing these functions in
my spoolss.dll. I.e., GetServerPolicy just returns TRUE there and I get
further.
* On top of this, InitializePrintProvidor also makes use of
RevertToPrinterSelf and ImpersonatePrinterClient. To let these functions
succeed, the current thread actually needs to impersonate a user. For
now, I worked around this problem by doing:
OpenProcessToken(GetCurrentProcess(), TOKEN_DUPLICATE, &hToken);
DuplicateToken(hToken, SecurityImpersonation, &hDup);
ImpersonateLoggedOnUser(hDup);
before calling InitializePrintProvidor.
* Finally, this lets InitializePrintProvidor succeed and it gave me the
table of function pointers.
Unfortunately, even simple query functions like fpEnumPrinters do a
RevertToPrinterSelf and then expect to be in the SYSTEM context of
spoolsv.exe. When my API-Test was just run in a usual Administrator user
context under Windows Server 2003, fpEnumPrinters didn't succeed.
For now, I worked around this problem by running my test program as a
service in the SYSTEM context.
With all these problems presented, can you think of any way how I can
now write a reliable API-Test for localspl.dll that could be run
regularly under Windows Server 2003 and ReactOS?
One idea would be to load the system spoolss.dll and then rewire the
GetServerPolicy import to a function that just returns TRUE all the time.
Still then, I have the problem that my API-Test would need to be run in
the SYSTEM security context.
Creative ideas are welcome! :)
Cheers,
Colin
Hey guys,
as some of you might have seen already we now have two copies of the more and more increasing RAPPS DB in trunk. This is:
a) Absolutely unnecessary and does only result in one thing, two differing DBs
b) Shows even more that it’s not useful to have it in trunk at all.
Because of this I start a vote now to get your opinion in completely removing the RAPPS DB from trunk into a subtree like done for many other things, too.
What do you think?
Greetings
Daniel Reimer
Gesendet von Windows Mail
Interesting that the wine code doesn't check for NULL at HeapAlloc at all
- could these be submitted to wine?
Additionally, at least one HeapAlloc isn't checked also in our build:
piDx = HeapAlloc(GetProcessHeap(),0,sizeof(INT) * (*count));
Perhaps a
#ifdef __REACTOS__
if (piDx == NULL)
{
return FALSE; //Not sure about this, just looked at the diff ;)
}
#endif
would be usefull there.
Best regards,
Michael Fritscher
> Author: akhaldi
> Date: Sat May 30 17:14:16 2015
> New Revision: 67974
>
> URL: http://svn.reactos.org/svn/reactos?rev=67974&view=rev
> Log:
> [USER32] Sync edit.c with Wine Staging 1.7.37. CORE-9246
>
> Modified:
> trunk/reactos/media/doc/README.WINE
> trunk/reactos/win32ss/user/user32/controls/edit.c
>
That's a bit** of a hack. Either the code holds a reference and needs to release it or not. cLockObj is a private field and code outside of UserReference* should not be allowed to access it.
Thanks!
-Thomas
** actually it's a pretty big hack
On May 28, 2015 12:13:03 AM CEST, jimtabor(a)svn.reactos.org wrote:
>Author: jimtabor
>Date: Wed May 27 22:13:03 2015
>New Revision: 67937
>
>URL: http://svn.reactos.org/svn/reactos?rev=67937&view=rev
>Log:
>[NtUser]
>- De-reference global cursor. See CORE-8305.
>
>Modified:
> trunk/reactos/win32ss/user/ntuser/cursoricon.c
>
>Modified: trunk/reactos/win32ss/user/ntuser/cursoricon.c
>URL:
>http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/cursor…
>==============================================================================
>--- trunk/reactos/win32ss/user/ntuser/cursoricon.c [iso-8859-1]
>(original)
>+++ trunk/reactos/win32ss/user/ntuser/cursoricon.c [iso-8859-1] Wed May
>27 22:13:03 2015
>@@ -1077,6 +1077,12 @@
> if (pcurOld->CURSORF_flags & CURSORF_GLOBAL)
> {
> TRACE("Returning Global Cursor hcur %p\n",hOldCursor);
>+
>+ if (pcurOld->head.cLockObj > 2) // Throttle down to 2.
>+ {
>+ UserDereferenceObject(pcurOld);
>+ }
>+
> goto leave;
> }
>
--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
Hello,
Let me invite you to the monthly status meeting taking place 28th of
May, 19:00 UTC, as always.
IRC service will only be started shortly before the meeting. Your
participation passwords and server address will be emailed to you
shortly before the meeting starts, and they are going to be different
once again as they are not stored in any database. Hopefully it's not
much of inconvenience.
Please send agenda proposals to me before the meeting, so that we can
start with a proposed agenda.
Regards,
Aleksey Bragin
Hi guys!
After a week dealing with several scripts and options, we're finally integrating the most important info from Reactos.org and Community.reactos.org directly to our Social channels to keep a constant flow of updates to our followers.
Since now our ReactOS Facebook and ReactOS Twitter will be automatically updated when...
... A Jira bugreport is resolved with a 'Fixed' and 'Cannot reproduce' status.
... A blog post is published in "ReactOS.org"
... A blog post is published in "Community.ReactOS.org"
Some of the features:
- Updates are queued and published with a time gap between them, so in case, eg, a Tester/Dev runs a Spring Cleanup, we won't be publishing 10 Jira reports in the same minute.
- Facebook and Twitter updates include pictures in case the blog post or the Jira report has one. So please add a picture in case you're blogging even if it is just a screenshot of you running "whatever" in ReactOS.
- Includes #hashtags related to the current Jira/Blog report.
- Uses bit.ly shortener when needed.
- And several hidden Easter Eggs in Twitter...(I was bored in the train)
If you've any suggestions about other potential updates to be sent to our Social Channels, just tell me and I'd try to integrate them in an automated way.
I'm planning a way to ease and have community contributions filtered and joining the automated flow, but it'll have to wait until I master Drupal. Also I'm working in some "crossposting" among our Social Channels, so a direct post in Facebook not coming from our PR Update System is replicated in Twitter and the other way around.
We can be really proud of the current PR Update system implemented, since probably it even beats several bigger opensource projects and/or companies out there.
If you didn't join our Twitter or Facebook yet, please feel free to join:
- Facebook: https://www.facebook.com/pages/ReactOS/19143619259
- Twitter: http://www.twitter.com/reactos
Brought to you by the ReactOS PR Team.
On 2015-05-14 06:00, tkreuzer(a)svn.reactos.org wrote:
> - int sign = (copysignf(1, in) < 0);
> + int sign = (in < 0);
> - if (copysignf(1.0f, value) < 0.0f)
> + if (value < 0.0f)
> ++idx;
I believe the behavior would be different here for negative zero:
copysignf(1.0f, -0.0f) should be < 0.0f
-0.0f should be == 0.0f
Maybe that's the reason for having these calls?
On 2015-05-12 06:57, akhaldi(a)svn.reactos.org wrote:
> +/* FIXME: ntifs.h */
> +#define FILE_READ_ONLY_VOLUME 0x00080000
This should go in ndk/iotypes.h inside an NTOS_MODE_USER ifdef.
Hi all,
Today, the motherboard in our Fezile server has finally failed after
many hick-ups over the year. This causes an outage for the following
services:
* doxygen.reactos.org
* cppcheck.reactos.org
* VMware Player Test slave
* VMware Player Patchbot
As this is not the first time we struggle with such problems,
iso.reactos.org is routed to a different server right now and not affected.
We have already ordered replacement hardware for this system and hope to
be able to get it back to a working state soon. Even if this machine is
from 2007, we have decided to revive it with replacement parts instead
of going for a brand-new one as this is much cheaper and quicker to
realize. Also there is a huge pile of replacement hardware available.
Sorry for the inconveniences!
Cheers,
Colin
Manually uploaded.
On 10/05/2015 19:28, buildbot(a)reactos.org wrote:
> The Buildbot has detected a failed build on builder Trunk_x86_GCCLin Release while building ReactOS.
> Full details are available at:
> https://build.reactos.org/builders/Trunk_x86_GCCLin%20Release/builds/1177
>
> Buildbot URL: https://build.reactos.org/
>
> Buildslave for this Build: Debug
>
> Build Reason: The Periodic scheduler named 'Release' triggered this build
> Build Source Stamp: HEAD
> Blamelist:
>
> BUILD FAILED: failed shell
>
> sincerely,
> -The Buildbot
>
>
>
>
>
--
Pierre Schweitzer <pierre at reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
Whats the difference between DPRINT and DbgPrint? I wrote a little
program that I can use to observe pipes, which I use for debugging. The
text from DPRINT is there, but where does DbgPrint go and why are there
multiple different debugging aids?
Well this is a weird one, the DDK says these callbacks are cdecl (missing NTAPI) and anyone building against the DDK will obviously declare their callbacks to match this convention. However internally, windows uses stdcall for these callbacks.
I can't find much by way of problems people have encountered with this, so why aren't people seeing problems with the way the stack is cleaned up? Anyone have any ideas before I blindly revert this change?
Ged.
-----Original Message-----
From: Ros-diffs [mailto:ros-diffs-bounces@reactos.org] On Behalf Of gedmurphy(a)svn.reactos.org
Sent: 05 May 2015 19:54
To: ros-diffs(a)reactos.org
Subject: [ros-diffs] [gedmurphy] 67563: [DDK] Fix the FS filter callback definitions
Author: gedmurphy
Date: Tue May 5 18:54:28 2015
New Revision: 67563
URL: http://svn.reactos.org/svn/reactos?rev=67563&view=rev
Log:
[DDK]
Fix the FS filter callback definitions
Modified:
trunk/reactos/include/ddk/ntifs.h
Modified: trunk/reactos/include/ddk/ntifs.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ntifs.h?rev=67…
==============================================================================
--- trunk/reactos/include/ddk/ntifs.h [iso-8859-1] (original)
+++ trunk/reactos/include/ddk/ntifs.h [iso-8859-1] Tue May 5 18:54:28 2015
@@ -4890,12 +4890,12 @@
} FS_FILTER_CALLBACK_DATA, *PFS_FILTER_CALLBACK_DATA;
typedef NTSTATUS
-(NTAPI *PFS_FILTER_CALLBACK) (
+(*PFS_FILTER_CALLBACK) (
_In_ PFS_FILTER_CALLBACK_DATA Data,
_Out_ PVOID *CompletionContext);
typedef VOID
-(NTAPI *PFS_FILTER_COMPLETION_CALLBACK) (
+(*PFS_FILTER_COMPLETION_CALLBACK) (
_In_ PFS_FILTER_CALLBACK_DATA Data,
_In_ NTSTATUS OperationStatus,
_In_ PVOID CompletionContext);
Hi
I'm new to ReactOS development and started to look into some issues I
noticed with the setup. When I tried to install it I experimented a bit
and noticed that you can create extended partitions during the setup.
The setup also accepts such a partition for installation, but the actual
installations fails with an error.
Now I wondered, what would be the correct way to fix it. I checked with
Windows 7 installation, and it apparently doesn't allow you to install
on an extended partition either, at least it only allows you to create
primary partitions. So if this shouldn't be possible, then I would add
an error message to the setup, when the user chooses an extended partition.
If this should be possible though, I would look into it, why it fails
and try to fix it. Not sure if XP or others allow installations on
extended partitions, I have to check this (been a long time since I last
installed an XP :) ).
regards,
Gerhard Gruber
On 02/05/2015 12:15, akhaldi(a)svn.reactos.org wrote:
> Author: akhaldi
> Date: Sat May 2 10:15:37 2015
> New Revision: 67508
>
> URL: http://svn.reactos.org/svn/reactos?rev=67508&view=rev
> Log:
> [PARPORT] Introduce a skeleton that will serve as base for implementing the parallel port function driver. Brought to you by The ReactOS Printing Group. CORE-9644
Is there a need for that much secrecy?
I shall remind that we ask people to contribute with their real names.
Such secret looks useless and damaging for the project.
And no, ARM group isn't a good example, nor a reason to keep doing so.
--
Pierre Schweitzer <pierre at reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
Hi all,
As already announced at the meeting today, I'm planning the very first
"ReactOS Hackfest" this year. Let's all finally meet up independently of
an exhibition and do some great work on ReactOS for a week!
The first idea was to have it at a location in Sweden, but this one
turned out to be not ready yet. Anyway, I found a possibility to have it
in the university city of Aachen, Germany.
Before we can plan any further regarding travelling and accomodation, I
need to know who's coming and when. So please fill out this Doodle:
http://doodle.com/tdaaie3rbbs5phpb
Cheers,
Colin
Hello,
Let me invite you to the monthly status meeting taking place 30th of
April, 19:00 UTC, as always.
IRC service will only be started shortly before the meeting. Your
participation passwords and server address will be emailed to you
shortly before the meeting starts, and they are going to be different
once again as they are not stored in any database. Hopefully it's not
much of inconvenience.
If someone still is not getting passwords sent before a meeting - please
email Pierre before the meeting started to get one.
Please send agenda proposals to me before the meeting, so that we can
start with a proposed agenda.
And join Mumble!
Regards,
Aleksey Bragin
On 22/04/2015 05:10, aandrejevic(a)svn.reactos.org wrote:
> +static inline PXMS_HANDLE GetHandleRecord(WORD Handle)
> +{
> + PXMS_HANDLE Entry = &HandleTable[Handle - 1];
> + if (Handle == 0 || Handle >= XMS_MAX_HANDLES) return NULL;
> +
> + return Entry->Size ? Entry : NULL;
> +}
This looks highly dangerous to me and likely compiler dependent.
I'd rather perform the sanity checks before ever touching HandleTable,
especially because the value of Handle is coming right from caller
registers and have never been sanitized before.
--
Pierre Schweitzer <pierre at reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
Just as a reminder: we can put registry stuff, that is related to a
special module, into a separate file together with the module itself
now. This one looks a bit like it should go into the the themeui folder.
Am 18.04.2015 um 11:52 schrieb akhaldi(a)svn.reactos.org:
> Modified: trunk/reactos/boot/bootdata/hivecls.inf
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivecls.inf?…
> ==============================================================================
> --- trunk/reactos/boot/bootdata/hivecls.inf [iso-8859-1] (original)
> +++ trunk/reactos/boot/bootdata/hivecls.inf [iso-8859-1] Sat Apr 18 09:52:23 2015
> @@ -265,6 +265,18 @@
> HKCR,"sysfile","NoOpen",0x00000000,""
> HKCR,"sysfile","FriendlyTypeName",0x00020000,"@%SystemRoot%\system32\shell32.dll,-171"
> HKCR,"sysfile\DefaultIcon","",0x00020000,"%SystemRoot%\system32\shell32.dll,-154"
> +
> +; MS Styles (Themes)
> +HKCR,".msstyles","",0x00000000,"msstylesfile"
> +HKCR,"msstylesfile","",0x00000000,"Visual Style File"
> +HKCR,"msstylesfile\DefaultIcon","","0x00020000","%SystemRoot%\system32\themeui.dll,-1"
> +HKCR,"msstylesfile\shell\open\command","",0x00000000,"%SystemRoot%\system32\rundll32.exe shell32.dll,Control_RunDLL %SystemRoot%\system32\desk.cpl desk,@Appearance /Action:OpenMSTheme file:""%1"""
> +
> +; Theme File
> +HKCR,".theme","",0x00000000,"themefile"
> +HKCR,"themefile","",0x00000000,"Theme File"
> +HKCR,"themefile\DefaultIcon","","0x00020000","%SystemRoot%\system32\themeui.dll,-1"
> +HKCR,"themefile\shell\open\command","",0x00000000,"%SystemRoot%\system32\rundll32.exe shell32.dll,Control_RunDLL %SystemRoot%\system32\desk.cpl desk,@Appearance /Action:OpenTheme /file:""%1"""
>
> ; URL shortcuts (e.g. used in favorites folder of IExplorer)
> HKCR,".url","",0x00000000,"InternetShortcut"
>
>
The comment "# Retrieve the full path to the generated file of the
'freeldr_pe' target" Doesn't explain why it is done.
It rather looks like someone is doing something pointless and
documenting in a comment that he's doing the pointless.
${CMAKE_CURRENT_BINARY_DIR} should be the "full path to the generated file". So it seems completely pointless to add extra magic to get that file path. Your commit message implies that this change fixes VSSolution builds, but it also doesn't explain it. In fact I don't even understand that sentence.
If you don't add a proper comment to that thing, why it is needed, I
promise I will have forgotten about this in a year and remove it again. :)
Thanks,
Timo
Am 04.04.2015 um 22:33 schrieb spetreolle(a)svn.reactos.org:
> Author: spetreolle
> Date: Sat Apr 4 20:33:18 2015
> New Revision: 67053
>
> URL: http://svn.reactos.org/svn/reactos?rev=67053&view=rev
> Log:
> [FREELDR]
> In a quest to better registry,
> don't break VSSolution builds.
> freeldr_pe is not in the same directory and copy doesn't care if you ask to concatenate C:\tomatoes, it already has the first file.
>
> Modified:
> trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt
>
> Modified: trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/CMake…
> ==============================================================================
> --- trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt [iso-8859-1] (original)
> +++ trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt [iso-8859-1] Sat Apr 4 20:33:18 2015
> @@ -226,10 +226,13 @@
> add_dependencies(freeldr_pe asm)
> add_dependencies(freeldr_pe_dbg asm)
>
> +# Retrieve the full path to the generated file of the 'freeldr_pe' target
> +get_target_property(_freeldr_pe_output_file freeldr_pe LOCATION)
> +
> concatenate_files(
> ${CMAKE_CURRENT_BINARY_DIR}/freeldr.sys
> ${CMAKE_CURRENT_BINARY_DIR}/frldr16.bin
> - ${CMAKE_CURRENT_BINARY_DIR}/freeldr_pe.dll)
> + ${_freeldr_pe_output_file})
>
> add_custom_target(freeldr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/freeldr.sys)
>
> @@ -240,7 +243,8 @@
> concatenate_files(
> ${CMAKE_CURRENT_BINARY_DIR}/setupldr.sys
> ${CMAKE_CURRENT_BINARY_DIR}/frldr16.bin
> - ${CMAKE_CURRENT_BINARY_DIR}/freeldr_pe.dll)
> + ${_freeldr_pe_output_file})
>
> add_custom_target(setupldr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/setupldr.sys)
> add_cd_file(TARGET setupldr FILE ${CMAKE_CURRENT_BINARY_DIR}/setupldr.sys DESTINATION loader NO_CAB FOR bootcd regtest)
> +
>
>
>
Dear all,
On the 3rd of April 2015, the old.reactos.org website will be taken
offline after several years of good services.
If you have anything to do on it (like gathering data or whatever)
please make sure you do before that date.
With my best regards,
--
Pierre Schweitzer <pierre(a)reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
On 03/26/2015 03:52 PM, hbelusca(a)svn.reactos.org wrote:
> Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/bios.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/…
> ==============================================================================
> --- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/bios.c [iso-8859-1] (original)
> +++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/bios.c [iso-8859-1] Thu Mar 26 14:52:16 2015
> @@ -56,6 +56,13 @@
> BOOLEAN DosCheckInput(VOID)
> {
> PDOS_SFT_ENTRY SftEntry = DosGetSftEntry(DOS_INPUT_HANDLE);
> +
> + if (SftEntry == NULL)
> + {
> + /* Invalid handle */
> + DosLastError = ERROR_INVALID_HANDLE; // ERROR_FILE_NOT_FOUND
Hum... Why?
Is the error code wrong and should be ERROR_FILE_NOT_FOUND? And then,
why setting this other error code?
Or is the error code right, and then, what's the purpose of such comment?
Or do you have a doubt about the right error code to use? Be it one or
the other?
I come back to my eternal comment: don't comment for yourself. Comment
for the others, you're not alone here. So, make it explicit.
Cheers,
--
Pierre Schweitzer <pierre(a)reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
Hey,
Win2k3 is end of support in 6 months, which will mean that the symbol
server will go down (as it has done for XP).
At the very least, we should scrape the symbol server so we can
continue to check and debug.
Or move to NT6...
Hello,
Let me invite you to the monthly status meeting taking place today 26th
of March, 19:00 UTC, as always.
IRC service will only be started shortly before the meeting. Your
participation passwords and server address will be emailed to you
shortly before the meeting starts, and they are going to be different
once again as they are not stored in any database. Hopefully it's not
much of inconvenience.
If someone still is not getting passwords sent before a meeting - please
email Pierre before the meeting started to get one.
Please send agenda proposals to me before the meeting, so that we can
start with a proposed agenda.
And join Mumble!
Regards,
Aleksey Bragin
Timo and C++??
Hell must be a bit chilly today :)
-----Original Message-----
From: Ros-diffs [mailto:ros-diffs-bounces@reactos.org] On Behalf Of tkreuzer(a)svn.reactos.org
Sent: 25 March 2015 22:38
To: ros-diffs(a)reactos.org
Subject: [ros-diffs] [tkreuzer] 66893: [WIN32K] Rewrite brush code in C++
Author: tkreuzer
Date: Wed Mar 25 22:38:20 2015
New Revision: 66893
URL: http://svn.reactos.org/svn/reactos?rev=66893&view=rev
Log:
[WIN32K]
Rewrite brush code in C++
Dear all,
Due to DB maintenance, Jira & Fisheye will be down in a few minutes.
There's no ETA for up status.
Sorry for the caused inconvenience,
--
Pierre Schweitzer <pierre(a)reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
Thank you, with revision 66721 everything is ok with building ReactOS
> Hi Fedor,
>
>> Hi. I am trying to compile ReactOS on my macbook with OSX 10.10 on it, but I got an error. Building tools compiled quite well (with some warmings, but I think that it is ok), but when I call "ninja all? I got error:
> Can you please try with r66700 and report back?
>
> Cheers,
> Amine.
dreimer(a)svn.reactos.org wrote:
> [RAPPS] lack of a proxy configuration by Peter Hater.
I don't think we need a separate proxy configuration per application.
We should rather keep things consistent and always use the system
proxy set in the "Internet Options" control panel applet.
Unless someone has any objections, I suggest reverting this.
- Colin
Hi. I am trying to compile ReactOS on my macbook with OSX 10.10 on it, but I got an error. Building tools compiled quite well (with some warmings, but I think that it is ok), but when I call "ninja all» I got error:
bash-3.2$ cd ../../output-MinGW-i386/reactos
bash-3.2$ ninja
[544/8381] Building C object dll/openg...Files/mesa_main.dir/api_arrayelt.c.obj
FAILED: /usr/local/RosBE/i386/bin/i686-w64-mingw32-gcc -DBUILD_GL32 -DFEATURE_GL=1 -DKDBG=1 -DOPENGL32_USE_TLS -DUSE_3DNOW_ASM -DUSE_COMPILER_EXCEPTIONS -DUSE_MMX_ASM -DUSE_SSE_ASM -DUSE_X86_ASM -DWIN32 -DWINVER=0x502 -D_DLL -D_GDI32_ -D_GLAPI_NO_EXPORTS -D_M_IX86 -D_SEH_ENABLE_TRACE -D_SETUPAPI_VER=0x502 -D_USE_32BIT_TIME_T -D_USE_PSEH3=1 -D_WIN32_IE=0x600 -D_WIN32_WINDOWS=0x502 -D_WIN32_WINNT=0x502 -D_WINDOWS -D_X86_ -D__REACTOS__ -D__i386__ -D_inline=__inline -Di386 -Wa,--compress-debug-sections -pipe -fms-extensions -fno-strict-aliasing -mstackrealign -Wold-style-declaration -Wdeclaration-after-statement -fdebug-prefix-map="/Users/lobster/documents/RosBE/reactos"=ReactOS -gdwarf-2 -gstrict-dwarf -femit-struct-debug-detailed=none -feliminate-unused-debug-symbols -march=pentium -mtune=i686 -Werror -Wall -Wpointer-arith -Wno-char-subscripts -Wno-multichar -Wno-unused-value -Wno-maybe-uninitialized -Wno-error=unused-but-set-variable -Wno-error=type-limits -O1 -fno-optimize-sibling-calls -fno-omit-frame-pointer -mpreferred-stack-boundary=3 -fno-set-stack-executable -Winvalid-pch -Werror=invalid-pch -g -Idll/opengl/mesa/main -I../../dll/opengl/mesa/main -I../../include -I../../include/psdk -I../../include/dxsdk -Iinclude -Iinclude/psdk -Iinclude/dxsdk -Iinclude/reactos -I../../include/crt -I../../include/ddk -I../../include/ndk -I../../include/reactos -I../../include/reactos/libs -I../../dll/opengl/mesa/. -Wno-error -Wno-type-limits -include /Users/lobster/documents/RosBE/reactos/output-MinGW-i386/reactos/dll/opengl/mesa/main/mesa_main_pch.h -MMD -MT dll/opengl/mesa/main/CMakeFiles/mesa_main.dir/api_arrayelt.c.obj -MF dll/opengl/mesa/main/CMakeFiles/mesa_main.dir/api_arrayelt.c.obj.d -o dll/opengl/mesa/main/CMakeFiles/mesa_main.dir/api_arrayelt.c.obj -c ../../dll/opengl/mesa/main/api_arrayelt.c
cc1: warning: /Users/lobster/documents/RosBE/reactos/output-MinGW-i386/reactos/dll/opengl/mesa/main/mesa_main_pch.h.gch: had text segment at different address [enabled by default]
cc1: error: one or more PCH files were found, but they were invalid
cc1: fatal error: /Users/lobster/documents/RosBE/reactos/output-MinGW-i386/reactos/dll/opengl/mesa/main/mesa_main_pch.h: No such file or directory
compilation terminated.
…
…
and so on
What I am doing wrong? I have googled, but I don’t found anything relevant
Thanks
Allright, so NTVDM is evil.
Pretty good choice, as I wouldn't want to taint kernel or other
important part of the system by 66666 commit made on Friday 13th... ;-)
Regards,
Aleksey Bragin
On 13.03.2015 20:57, aandrejevic(a)svn.reactos.org wrote:
> Author: aandrejevic
> Date: Fri Mar 13 17:57:51 2015
> New Revision: 66666
>
> URL: http://svn.reactos.org/svn/reactos?rev=66666&view=rev
> Log:
> [NTVDM][FAST486]
> - Implement VDDInstallMemoryHook and VDDDeInstallMemoryHook using page guards.
> - Implement another API for memory hooks that should be faster than page guards
> (for NTVDM only).
> - Adjust the VGA and EMS memory handlers to use this method.
> - In Fast486, implement a method that will allow us to "rewind" the current instruction,
> in case it was interrupted by a memory hook page fault.
> - Use a memory hook to protect the BIOS ROM from being written to.
>
dreimer(a)svn.reactos.org wrote:
> [RAPPS] lack of a proxy configuration by Peter Hater.
I don't think we need a separate proxy configuration per application.
We should rather keep things consistent and always use the system
proxy set in the "Internet Options" control panel applet.
Unless someone has any objections, I suggest reverting this.
- Colin
Hi,
Here's the promised suggestion regarding how we handle versioning
problems in reactos. It has some relationship to the tree restructure.
Since some time we now run into issues with our targeted Windows
version. This is both wine dlls, as well as applications that refuse to
run due to reactos being limited to Windows server 2003 SP2.
I think many of us, me included, see more in ReactOS than an academic
research project, or a nice way for 3rd party companies to cheaply get
insight into how the Windows kernel works. So we are interested in
making it an actually useful operating system. To achieve this goal, it
is obviously important to make it run modern Windows applications.
The current approach of pure Windows 2003 Server SP2 compatibility on
user mode side is a dead end. Our target OS version is starting to
become a fossil. With time more and more applications will simply refuse
to work on it. Even wine DLLs start to require Vista APIs and their
number will most likely increase.
So what can we do? It is obvious, that we cannot instantaniously switch
all user mode to Windows 7/8/10 compatibility, due to the amount of
required work, especially regarding missing kernel features.
The wine approach is just adding whatever is needed, creating a Windows
version chimera. It has already been discussed here and shown to be a
problem, since it can easily fool applications into believing they run
on Vista or Windows 7, making them demand all the modern features, which
we cannot provide, thus failing to run, while they would run flawlessly,
when being provided a pure Windows 2003 environment, restricting itself
to this functionality. So this is also not a very good way, either.
So the conclusion is, that we need a mechanism, that allows us to
control this, providing individual applications with what they require,
while leaving others in a more restricted environment. And at the same
time allowing our internal/wine DLLs to make use of higher version
functionality.
Suggested approach:
1. We need a method to specify which application should be run in which
environment. We should probably use the same mechanism that is used on
Windows. Compatibility information is stored in a registry key
HKCU\Software\Microsodt\Windows NT\CurrentVersion\AppCompatFlags\... The
trick is to make this easy / transparent for the user. A right-click ->
properties -> compatibility approach should for now probably be the
easiest thing, even if it requires the user to actively make this
setting. A larger app compatibility database would be nice, but it would
be difficult to figure out what application is being run. And it's also
a problem to maintain such a list. Potential solutions: detect failures
to load due to missing imports and app crashes and invoke a
"compatibility assistent" in that case. Detect first-run of a new
application and try to identify it, either based on a hash or based on
PE version information.
2. We need a way to provide the application transparently with the
environment we want to give it. In terms of DLL exports this could be
done on the loader side, making it chose the right DLL, potentially
adding a suffix to the DLL name or selecting a different folder other
than system32. While this will most likely work good in the majority of
cases, it is not 100% transparent. Therefore a mechanism in the kernel,
using file system redirection, like it already exists on 64 bit Windows
for WoW64, seems to be a more promising approach. The file system
redirection would redirect system32 into merged folders, containing the
version specific DLLs, while everything that is not existing in this
folder will be taken from the original system32. Potential naming
scheme: system32.601 system32.602, etc.
3. We need a method to create and maintain the required DLLs for
different OS versions. Preferably avoiding bloat by sharing common code
in common "parent" DLLs. But also allowing to still plug the DLLs into
the related Windows version for testing. This can be tricky. I suggest a
DLL import forwarding scheme. This is both to avoid bloat, i.e. avoid to
compile and deploy all full blown DLLs for all OS versions, as well as
creating a better organized system. So each DLL, lets say ADVAPI32, as
located in different version specific system32 folders, would
mainly/only consist of forwarders to a "parent" DLL. On Windows we can
see this being developed similarly, using "api sets" and redirections
made by the loader. Cloning this mechanism 1:1 might not be the right
thing though, since it does not address all our requirements. So instead
I suggest proving our own custom "parent DLLs". While these could be
organized the same way as on Windows 2003, this is probably not optimal.
Instead I suggest merging stuff together into 1 or few DLLs (similar to
how stuff was combined in kernelbase.dll)
This might looks like this (note, that the names are just quickly made
up names, I don't claim that they are good)
- user32/gdi32 -> ros-win32-core.dll
- kernel32/advapi32 -> ros-kernel-base.dll
- msvcr* -> ros-crt.dll
- ntdll -> ros-ntdll (the kernel would need to load this one)
This also allows our DLLs to make use of higher version APIs, by linking
them to the parent DLL.
Now this obviously introduces a problem when trying to run individual
DLLs within a Windows system. To still be able to do this for testing
purposes, we need to make sure that they still run there.
First, if they import from a custom ros-* DLL, it won't run on Windows
without that DLL. So we need the possibility to either statically link
these functions, or compile a "helper DLL", that contains these
functions, so our DLLs can be run on Windows.
If we used a common parent DLL, this also creates the problem of DLL
initialization. e.g. the DLL parent for kernel32 and advapi32 would do
the initialization for both of these, so this would not be suitable to
use when replacing only one of the DLLs. Instead DLL initialization
could be done by calling a specific initialization function in the
parent DLL from the child DLL. So kernel32!DllMain would call
ros-kernel-base!DllMain_kernel32, passing the original parameters as
well as a version number, that the parent DLL can use to do version
specific initialization. This way The parent DLL would only do the
kernel32 initialization, when the related kernel32 child DLL was used,
the advapi32 initialization would not be done.
There is still a problem: relocation. So we would need to make sure we
chose base addresses that still allow us to plug the stuff into Windows
without causing everything to relocate, which often simply doesn't work.
As an alternative, we should provide a compile time switch to compile
specific DLLs in a self-contained way.
In terms of structure we could use the MS api-sets as a base for static
libraries. Then we can link these either into the parent DLLs like
ros-kernel-base.dll or - when a compile switch is given - to link
together fully self contained DLLs.
I am really not interested in answers like "This is not what WIndows
does!", "THIS CANNOT WORK!!!", "You are a ***** even suggesting this",
"What if application x parses the import table and disassembles the DLL
to hook into internal functions, ...":
I am only interested in *constructive* comments.
Everything else: -> /dev/null
Thanks,
Timo
On 2015-03-10 11:10, akhaldi(a)svn.reactos.org wrote:
> +if(NOT MSVC)
> + add_target_compile_flags(advapi32_winetest "-Wno-format")
> +endif()
Why are we getting format warnings? Is __WINESRC__ not set correctly?
Hii,
Well... In theory the restructuring might be logical and maybe even a good idea to separate some of the DLL/win32 folder etc, but this can't be done as one man show. It breaks the patches in jira, breaks the stuff our devs might have locally and maybe someone has something to say to your plans.How to resolve this? Tbh, no clue. But a open discussion BEFORE commiting would be a start IMO. So guys, what now? Can we keep it or not?
Greetings
Daniel
Von meinem Samsung Gerät gesendet.
-------- Ursprüngliche Nachricht --------
Von: Hermès BÉLUSCA - MAÏTO <hermes.belusca(a)sfr.fr>
Datum: 06.03.2015 12:03 (GMT+01:00)
An: 'ReactOS Development List' <ros-dev(a)reactos.org>
Betreff: Re: [ros-dev] [ros-diffs] [hbelusca] 66575: Start source tree
(final, I hope!) restructuration. Part 1/X Win32, Shell, Services, MVDM
So...
... must I revert trunk pre-66575 ?
Hermès.
-----Message d'origine-----
De : Ros-dev [mailto:ros-dev-bounces@reactos.org] De la part de Aleksey
Bragin
Envoyé : vendredi 6 mars 2015 10:48
À : ReactOS Development List
Objet : Re: [ros-dev] [ros-diffs] [hbelusca] 66575: Start source tree
(final, I hope!) restructuration. Part 1/X Win32, Shell, Services, MVDM
On 06.03.2015 2:58, Hermès BÉLUSCA - MAÏTO wrote:
> Hi,
>
> So first, please receive my apologies for not having warned in ros-dev
> about this (continuation of) tree restructure I did starting with
> r66575. Indeed this was the first thing to do before doing anything,
> even if I talked about that on IRC and JIRA!
Wrong.
You did not need to warn, you need to get majority of devs to support this
change, to get comments from them, to make sure they continue to feel "at
home" in ReactOS source code.
Right now, for the sake of subjective beautification you just forced
everyone but you to adapt their patches (myself included, I have many
working copies) just because you feel the tree structure was wrong.
This is just ridiculous. As Pierre said, we are a team here. And teamwork
without big issues is what is making our project a good place to work in, to
get pleasure and satisfaction from the work done.
> In fact, the tree restructure discussion started 5 years ago, along
> with the cmake bringup: see the big thread here:
> http://www.reactos.org/pipermail/ros-dev/2010-July/013257.html .
Imagine what, I was part of it.
> At that
> time the main argument was that we were also in the middle of changing
> the old build system (rbuild) to a new one (cmake) so it was
> problematic to do those two big changes at once. Also at that time,
> seeing the argumentation of Ged, Timo, Jérôme and the few others
> (active developers) who dared to participate to this discussion, it
> was clear that a tree restructure was necessary anyway, sooner or later.
This is called
https://en.wikipedia.org/wiki/Post-purchase_rationalization . After you made
the change you start explaining that everyone was supporting it, it was so
much needed, and let's just forget about any side-effects it may have
caused.
> In 2012 some tree restructure happened (r56305) by moving around and
> in a more logical manner some core components of win32.
Yep.
> What happens now in 2015, i.e. 5 years after ? We have CMake well
> established, everything works, but only win32 core was reorganized.
Sure, 5 years is a magic number which means you can safely ignore everyone
else and just force your own change.
> I made http://jira.reactos.org/browse/CORE-9111 , people started to
> give proposals. You came back with the almost same argument, that is
> to finish the existing things first (adapt that: at the time of CMake,
> it was CMake, now, it's fix all ReactOS 0.4 bugs), and then improve
> structure of source tree. Since not all the existing bugs will be
> fixed by then, we can continue this way and wait another 5 years in order
to have a real tree restructure?
> I don't think so.
> So I took that for granted and committed r66575.
You know, users don't care about source code tree structure. Tree is for
developers. Users (and hence, popularity and usability of ReactOS) like when
ReactOS does not crash, when ReactOS runs their apps, when ReactOS loads
native binary drivers.
And my point is that internal changes (code refactorings, tree restructures,
reformatting) must happen only when the advantage of that is more than the
disadvantage/side effects.
Are you going to say that ReactOS 0.4 is closer now because you restructured
the tree according to your taste? Was there any urge to do the restructure?
> Active developers really think (at least, myself) it's a pain in the
> ***
The key part: "myself". Let's face it: you silently ignored my opinion and
decided not to ask anyone else. This is PITA, not the tree structure.
> that when we code on some given module (example: shell), we need to
> modify some bit of code in base/shell/whatever, some bit of code in
> dll/win32/shell32, some bit of code here and there. All the code of
> the shell should be tied together. This goes also for everything else:
> the core of NT (kernel, ntdll, "base" drivers...), the win32 subsystem
> (win32k; for it the change in r56305 started to make things more
> logical: you would not have to modify code in some win32k/ directory
> while also changing
> dll/win32/gdi32 or dll/win32/user32 that were by the way amongst all
> the rest of wine dlls, etc...) .
It's not "more logical", it's just different logical approaches.
> Because I didn't want to wait yet another 5 years I decided to start
> something.
Just remember, trunk is not your private branch. You have to take other devs
opinion into account. And you are not always right. Sometimes even Alex
Ionescu fails, though I must say it happens very rare.
Get used to convince people. Remember Arwinss? Did I just delete the
existing trunk win32ss back then? Imagine if I did? My reasoning was
perfect, the subsystem was superior to trunk back then in many ways, and "I
did not want to wait another 10 years for someone to finish trunk's
win32ss".
> OK my fault I would have to get a synthesis of the different proposals
> of tree restructures I got, then put in ros-dev, then wait 1 month
> until everybody starts to vote. Of course you would get people
> thinking it's better to do à la Wine and sort the files by extension
> type (that's what we almost have currently) and it was already
> repeated that it is BAD because it doesn't translate the fact that
> ROS/windows is built by modules; others would have thought it's nice
> to have this piece of thing next to another one whereas this can be
> postponed later on until the *obvious* parts of code have been properly
packed together.
Yes, unless I don't know something and suddenly all your ideas are
absolutely true without the need for verification. Mine aren't, I always
consult with other skilled people.
> And because of that, here is my proposal: UNTIL details get fixed, I
> propose
> to:
> - keep the /boot/, /include/, /lib/, /media/ and /tools/ directories
> (as well as /cmake/ and the files in / ) untouched.
> - ntoskrnl, ntdll and the drivers we have in /drivers/ (SAUF, the
> multimedia
> ones) go into some main "ntcore" directory (ntcore, ntos, call it
> whatever you prefer. I'm inclined to the second name, but I'm ok with the
first one).
> - the keyboard layouts can be moved either to win32ss/ or to / (in
> case we can give sense to keyboard layouts in "pure" NT, for example
> when we run usetup, etc...)
> - ok... my already-done (but revertable) modifs from 66575 (directory
> renamings can be done, it's not set in stone).
> - putting all printing support in some /win32/printsup (or
> "printing"...) directory : that means: localspl, ntprint, printui,
> spoolsv and spoolss, and winspool (so far...)
Oh, now you shared your secret plan with us. Thank you so much!
Actually, I would like to invent something better than just copying the NT
source code tree layout.
> That's what I'm 99.99% sure (and what I think is quite clear).
> Concerning the rest (that can create discussion) I still keep it in old
directories.
...
> Regards,
> Hermès.
>
>
>
> -----Message d'origine-----
> De : Ros-dev [mailto:ros-dev-bounces@reactos.org] De la part de
> Aleksey Bragin Envoyé : vendredi 6 mars 2015 00:15 À :
> ros-dev(a)reactos.org Objet : Re: [ros-dev] [ros-diffs] [hbelusca]
> 66575: Start source tree (final, I hope!) restructuration. Part 1/X
> Win32, Shell, Services, MVDM
>
> Hermes,
>
> What the fuck, may I ask?
>
> I don't understand since when we started doing big changes in trunk
> without talking (or listening) to anyone at all, just at your own
discretion?
>
> Are you so sure the change is accepted by majority of our developers?
> Did you get approval of those devs? Give them some respect which they
> earned over years with their skills and commitment.
>
> I understand ReactOS is a very loosely managed project (to favor ease
> of development), but totally ignoring everyone?
> I checked CORE-9111 and I don't see any single comment from Timo,
> Jerome, James, whoever else counts.
>
> Regards,
> Aleksey Bragin
> P.S. I'm not talking about actual changes, I'm talking about the
> process and attitude.
>
> On 06.03.2015 2:03, hbelusca(a)svn.reactos.org wrote:
>> Author: hbelusca
>> Date: Thu Mar 5 23:03:33 2015
>> New Revision: 66575
>>
>> URL: http://svn.reactos.org/svn/reactos?rev=66575&view=rev
>> Log:
>> Start source tree (final, I hope!) restructuration. Part 1/X Win32,
>> Shell, Services, MVDM
>>
>
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
Dear all,
The ReactOS Foundation application to GSoC has been rejected this year
again. Statistics are not reliable after all.
In any case, keep up the good work. We don't need Google to be the bests
at what we do.
Cheers,
--
Pierre Schweitzer <pierre at reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
Hermes,
What the fuck, may I ask?
I don't understand since when we started doing big changes in trunk
without talking (or listening) to anyone at all, just at your own
discretion?
Are you so sure the change is accepted by majority of our developers?
Did you get approval of those devs? Give them some respect which they
earned over years with their skills and commitment.
I understand ReactOS is a very loosely managed project (to favor ease of
development), but totally ignoring everyone?
I checked CORE-9111 and I don't see any single comment from Timo,
Jerome, James, whoever else counts.
Regards,
Aleksey Bragin
P.S. I'm not talking about actual changes, I'm talking about the process
and attitude.
On 06.03.2015 2:03, hbelusca(a)svn.reactos.org wrote:
> Author: hbelusca
> Date: Thu Mar 5 23:03:33 2015
> New Revision: 66575
>
> URL: http://svn.reactos.org/svn/reactos?rev=66575&view=rev
> Log:
> Start source tree (final, I hope!) restructuration. Part 1/X
> Win32, Shell, Services, MVDM
>
Hi!
I visited Intel's office in Moscow this week where I was given the brand
new Intel Edison along with the Arduino-compatible prototype board.
This story started by Alexander Rechitsky who brought all this to my
attention, communicated with Novosibirsk's and Moscow's Intel staff and
explained the ReactOS-on-Edison idea.
Now I can get my hands on this board, and I invite everyone who's
interested to play with it together. I am just getting started with it -
the basics, like attaching serial output, etc.
Some photos of this thing can be seen in my public Facebook album:
https://www.facebook.com/media/set/?set=a.10204517582234470.1073741833.1080…
Regards,
Aleksey Bragin
Hi all,
After a long, long time, we finally have a Testbot regularly running our
Wine tests and API tests under our target platform Windows Server 2003.
The VM is actually based on Windows Home Server, which is a cheap
Windows Server 2003 SP2 edition.
The first successful test results are here:
https://reactos.org/sites/all/modules/reactos/testman/compare.php?ids=34839
Okay, I have to admit this already required manual intervention. Test
msi:install reproducibly hangs with the error message "The process
cannot access the file because another process has locked a portion of
the file".
I expect all of this to still need some tweaking here and there. Please
reply to this mail with all your tweaking suggestions and I see what I
can do.
Have fun,
Colin
Hi all,
Based on Hermès' suggestion, I've transformed our Debug-Buildbot
"Trunk_x86_GCCLin Debug" into a Patchbot. That means, it will continue
to build each SVN revision as usual, but you can also force a build and
enter a patch ID. Your build will then be patched accordingly.
After building and testing, you will have:
* The patched regtest ISO at http://iso.reactos.org/regtestcd/
* A test result in Testman with source "Patched Trunk_x86_GCCLin (KVM)"
These changes will be applied to the other Buildslaves too once our
servers are all back up.
Cheers,
Colin
Hello,
Let me invite you to the monthly status meeting taking place 26th of
February, 19:00 UTC.
IRC service will only be started shortly before the meeting. Your
participation passwords and server address will be emailed to you
shortly before the meeting starts, and they are going to be different
once again as they are not stored in any database. Hopefully it's not
much of inconvenience.
If someone still is not getting passwords sent before a meeting - please
email Pierre before the meeting started to get one.
Please send agenda proposals to me before the meeting, so that we can
start with a proposed agenda.
And join Mumble! :-)
Regards,
Aleksey Bragin
Hi all,
As tests have shown that VirtualBox doesn't work properly inside an
already virtualized environment, ReactOS Deutschland e.V. has just
ordered a tiny Intel NUC that will serve as a VirtualBox Testslave. We
plan to set it up right next to our Buildslaves, so that every ISO could
possibly be regression-tested under VirtualBox. As a start, we plan to
test the builds of the new MSVC Builder. The machine is powerful enough
though to eventually test multiple ISOs simultaneously.
I don't know about the current state of sysreg2 regarding VirtualBox
support. To let this all happen as soon as possible, please ensure
sysreg2 can fully handle VirtualBox once I set up the machine.
Cheers,
Colin
I don't care about the reason.
Tests that fail on Windows are broken, period. In this order the tests
fail on Windows.
On 2015-02-26 09:38, jimtabor(a)svn.reactos.org wrote:
> Author: jimtabor
> Date: Thu Feb 26 08:38:00 2015
> New Revision: 66464
>
> URL: http://svn.reactos.org/svn/reactos?rev=66464&view=rev
> Log:
> [User32_WINETEST]
> - Move test_SetFocus first as it is done originally. Refer to read past wine CVS logs for the reason.
>
> Modified:
> trunk/rostests/winetests/user32/msg.c
>
> Modified: trunk/rostests/winetests/user32/msg.c
> URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/user32/msg.c?re…
> ==============================================================================
> --- trunk/rostests/winetests/user32/msg.c [iso-8859-1] (original)
> +++ trunk/rostests/winetests/user32/msg.c [iso-8859-1] Thu Feb 26 08:38:00 2015
> @@ -14717,8 +14717,8 @@
> START_TEST(msg_focus)
> {
> init_tests();
> + test_SetFocus();
> test_SetActiveWindow();
> - test_SetFocus();
>
> /* HACK: For some reason test_SetForegroundWindow fails on Windows unless
> * we do this */
Hi!
The message testing, LOL just made more work for Amine...
Okay AlterWindowStyle, could it be better to place it in WIN_SetStyle as a
wrapper, maybe? WIN_SetStyle is just glue code for ReactOS.
James
Author: tkreuzer
Date: Tue Feb 24 23:15:08 2015
New Revision: 66444
[USER32_APITEST]
Add some test for GetDCEx that highlight the ridiculous implementation
of owned and class DCs.
Hello All!
What is ridiculous is the attitude of our smart A__ developers!
James
Hi
I'd like to propose introducing C++ to win32k. Don't worry, this is not
a suggestion to rewrite everything from scratch in C++, but to gradually
introduce C++.
The reason is not "That's what Windows does", but the fact that
especially GDI would heavily benefit in terms of code simplicity,
clarily and quality from using C++.
A lot of the interfaces are already in a C++ object style way, but still
code can bypass interfaces and directly modify structure members, even
if it is not supposed to be done that way.
Unless there are strong objections, I'd post a design / style / roadmap
suggestion soon.
If people feel strongly about it, we can defer this to after a 0.4.0
release.
Regards,
Timo
it might fix an assert but the patch is incorrect. will this also take 6
months to revert?
Best regards,
Alex Ionescu
On Tue, Feb 17, 2015 at 6:19 AM, <jgardou(a)svn.reactos.org> wrote:
> Author: jgardou
> Date: Tue Feb 17 14:19:05 2015
> New Revision: 66334
>
> URL: http://svn.reactos.org/svn/reactos?rev=66334&view=rev
> Log:
> [NTOSKRNL/MM]
> - MiIsEntireRangeCommitted: Ensure the PTE we are checking is really
> faulted in.
> - Prefer MiPteToPde and MiPdeToPte (which should really be called
> MiFirstPteInPde) instead of MiAddressToPte and MiPteToAddress
> Fixes weird failed ASSERT in page fault handler when using DPH.
>
> Modified:
> trunk/reactos/ntoskrnl/mm/ARM3/virtual.c
>
> Modified: trunk/reactos/ntoskrnl/mm/ARM3/virtual.c
> URL:
> http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/virtual.c…
>
> ==============================================================================
> --- trunk/reactos/ntoskrnl/mm/ARM3/virtual.c [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/mm/ARM3/virtual.c [iso-8859-1] Tue Feb 17
> 14:19:05 2015
> @@ -1994,14 +1994,13 @@
> if (OnBoundary)
> {
> /* Is this PDE demand zero? */
> - PointerPde = MiAddressToPte(PointerPte);
> + PointerPde = MiPteToPde(PointerPte);
> if (PointerPde->u.Long != 0)
> {
> /* It isn't -- is it valid? */
> if (PointerPde->u.Hard.Valid == 0)
> {
> /* Nope, fault it in */
> - PointerPte = MiPteToAddress(PointerPde);
> MiMakeSystemAddressValid(PointerPte, Process);
> }
> }
> @@ -2009,13 +2008,13 @@
> {
> /* The PTE was already valid, so move to the next one */
> PointerPde++;
> - PointerPte = MiPteToAddress(PointerPde);
> + PointerPte = MiPdeToPte(PointerPde);
>
> /* Is the entire VAD committed? If not, fail */
> if (!Vad->u.VadFlags.MemCommit) return FALSE;
>
> - /* Everything is committed so far past the range, return
> true */
> - if (PointerPte > LastPte) return TRUE;
> + /* New loop iteration with our new, on-boundary PTE. */
> + continue;
> }
> }
>
>
>
>
For me this looks like a hack. It might "do what Windows does", but the
result is more based on luck / random compiler behaviour rather than
deterministic behavior. We should think about returning a full ULONG in
all functions that rely on this (like Wow64EnableWow64FsRedirection),
containing the correct value, rather than relying on random stuff.
Am 20.02.2015 um 08:03 schrieb tfaber(a)svn.reactos.org:
> Author: tfaber
> Date: Fri Feb 20 07:03:00 2015
> New Revision: 66365
>
> URL: http://svn.reactos.org/svn/reactos?rev=66365&view=rev
> Log:
> [KERNEL32]
> - Make BaseSetLastNTError return the converted Win32 error code. This will determine the upper 24 bits of EAX in functions that return BOOLEAN FALSE right after calling BaseSetLastNTError, e.g. Wow64EnableWow64FsRedirection. Fixes installers using WiX Toolset (e.g. VS2012 redist) on MSVC builds.
> See http://wixtoolset.org/issues/4681/ for the WiX bug that causes this.
> CORE-8010
>
> Modified:
> trunk/reactos/dll/win32/kernel32/client/except.c
> trunk/reactos/dll/win32/kernel32/include/kernel32.h
>
> Modified: trunk/reactos/dll/win32/kernel32/client/except.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
> ==============================================================================
> --- trunk/reactos/dll/win32/kernel32/client/except.c [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/kernel32/client/except.c [iso-8859-1] Fri Feb 20 07:03:00 2015
> @@ -682,12 +682,16 @@
> /*
> * @implemented
> */
> -VOID
> +DWORD
> WINAPI
> BaseSetLastNTError(IN NTSTATUS Status)
> {
> + DWORD dwErrCode;
> +
> /* Convert from NT to Win32, then set */
> - SetLastError(RtlNtStatusToDosError(Status));
> + dwErrCode = RtlNtStatusToDosError(Status);
> + SetLastError(dwErrCode);
> + return dwErrCode;
> }
>
> /*
>
> Modified: trunk/reactos/dll/win32/kernel32/include/kernel32.h
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/include…
> ==============================================================================
> --- trunk/reactos/dll/win32/kernel32/include/kernel32.h [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/kernel32/include/kernel32.h [iso-8859-1] Fri Feb 20 07:03:00 2015
> @@ -353,7 +353,7 @@
> WINAPI
> InitCommandLines(VOID);
>
> -VOID
> +DWORD
> WINAPI
> BaseSetLastNTError(IN NTSTATUS Status);
>
>
>
>
In such situations, please update all the langages files and not only
English. This makes work easier for translators to track changes.
On 21/02/2015 13:52, gadamopoulos(a)svn.reactos.org wrote:
> Author: gadamopoulos
> Date: Sat Feb 21 12:52:58 2015
> New Revision: 66383
>
> URL: http://svn.reactos.org/svn/reactos?rev=66383&view=rev
> Log:
> [SHELL32]
> - Implement progress dialogs for SHFileOperation
> - Patch by Hwu Davies
> CORE-4476
>
> Modified:
> trunk/reactos/dll/win32/shell32/lang/en-US.rc
>
> Modified: trunk/reactos/dll/win32/shell32/lang/en-US.rc
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/en-…
> ==============================================================================
> --- trunk/reactos/dll/win32/shell32/lang/en-US.rc [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/shell32/lang/en-US.rc [iso-8859-1] Sat Feb 21 12:52:58 2015
> @@ -693,6 +693,13 @@
> IDS_OVERWRITEFILE_CAPTION "Confirm file overwrite"
> IDS_OVERWRITEFOLDER_TEXT "This folder already contains a folder named '%1'.\n\nIf the files in the destination folder have the same names as files in the\nselected folder they will be replaced. Do you still want to move or copy\nthe folder?"
>
> + IDS_FILEOOP_COPYING "Copying"
> + IDS_FILEOOP_MOVING "Moving"
> + IDS_FILEOOP_DELETING "Deleting"
> + IDS_FILEOOP_FROM_TO "From %1 to %2"
> + IDS_FILEOOP_FROM "From %1"
> + IDS_FILEOOP_PREFLIGHT "Preflight"
> +
> /* message box strings */
> IDS_RESTART_TITLE "Restart"
> IDS_RESTART_PROMPT "Do you want to restart the system?"
>
--
Pierre Schweitzer <pierre at reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
On 2015-02-16 10:27, zefklop (JIRA) wrote:
> zefklop commented on ROSTESTS-153:
> ----------------------------------
>
> This and the advapi32:service disabled test call for (optional) per-test timeout parameter in rostests or testman.We can't afford skipping tests, that's an open door to all kind of regressions.
I agree that skipping tests is a really bad idea. It should be used as
a last resort only. And we need a proper process for it** -- I've been
spending way too much time hunting down skipped tests recently, and way
too many of them had their underlying bugs (and sometimes even Jira
issue) fixed without re-enabling the test.
However I don't see a practical way to implement your solution. For one,
the timeout seems like it would have to cause a machine reboot, which
significantly increases test time. I guess rosautotest could keep track
of the time and kill the child process, but I don't know how reliable
that would be.
Secondly and more importantly, killing the test on timeout seems worse
than skipping the offending part, because then any tests running
_after_ the code causing the timeout would never be executed. That means
instead of skipping a test that's known to be problematic, we skip
completely unrelated and innocent tests.
I'm not sure if there's a way to win this. Let me know if you have any
ideas. As it stands I think skipping the offenders is an okay solution
-- we just need to stay very aware of them and make sure to re-test more
regularly than we do now.
Thanks!
-Thomas
** For the record, here's an example process that I try to keep to:
- Create a ROSTESTS bug to indicate that a test was skipped
- Link the ROSTESTS bug to ROSTESTS-125, the Skipped Tests Epic
- Do not #if out the test, instead check for winetest_interactive, and
skip the test only if it's not set
- Make sure to call skip() with a message that references the ROSTESTS
bug
- Optionally create a CORE issue for the underlying problem if enough
information is available; make sure it blocks the ROSTESTS issue
- Do not under any circumstances close the ROSTESTS bug before the test
code is actually restored and no longer skips the test in question
This allows the issue to be actually found, by checking the Epic, or
grepping for "ROSTESTS-" or "winetest_interactive". Skipped tests
should be re-tested regularly, at the very least every time the test is
Wine-synced.
>> gdi32_winetest:bitmap test_mono_bitmap skipped because it takes too long and spams the debug log with too many failures
>> -----------------------------------------------------------------------------------------------------------------------
>>
>> Key: ROSTESTS-153
>> URL: https://jira.reactos.org/browse/ROSTESTS-153
>> Project: ReactOS Test Suite
>> Issue Type: Bug
>> Components: Wine Tests
>> Reporter: Thomas Faber
>> Assignee: Bug Zilla
>> Labels: HACK
>>
>> If you close this task, that means the winetest_interactive check and skip() in test_mono_bitmap must be gone!
Hi James!
It would be nice if you could also do some cleanup in that caret code,
because it seems (starting r66244):
- there is somewhat duplicated caret painting in win32k and in user32,
- the caret is sometimes drawn one or two pixels too high.
And of course, everything should be done windows-compatible (not
wine-compatible)!!
Cheers,
Hermès.
------------------------------------------
Author: jimtabor
Date: Fri Feb 13 13:39:57 2015
New Revision: 66244
URL: http://svn.reactos.org/svn/reactos?rev=66244&view=rev
Log:
[NtUser]
- Use a real timer for caret. This should cleanup message testing from those
random system timer messages. See CORE-7447.
Modified:
trunk/reactos/win32ss/user/ntuser/caret.c
Modified: trunk/reactos/win32ss/user/ntuser/caret.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/caret.c
?rev=66244&r1=66243&r2=66244&view=diff
============================================================================
==
--- trunk/reactos/win32ss/user/ntuser/caret.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/caret.c [iso-8859-1] Fri Feb 13
13:39:57 2015
@@ -16,6 +16,111 @@
/* FUNCTIONS
*****************************************************************/
+VOID FASTCALL
+co_IntDrawCaret(PWND pWnd, PTHRDCARETINFO CaretInfo)
+{
Hey Timo,
nice stuff, but I think you committed a bit too fast ;-)
See inline:
Le 13/02/2015 21:19, tkreuzer(a)svn.reactos.org a écrit :
> Author: tkreuzer
> Date: Fri Feb 13 20:19:51 2015
> New Revision: 66250
>
> URL: http://svn.reactos.org/svn/reactos?rev=66250&view=rev
> Log:
> [CMAKE]
> Add support for "module groups". These are meta targets that automatically include all targets using set_module_type() that are included between start_module_group(name) and end_module_group().
>
> Modified:
> trunk/reactos/cmake/CMakeMacros.cmake
>
> Modified: trunk/reactos/cmake/CMakeMacros.cmake
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/CMakeMacros.cmake?re…
> ==============================================================================
> --- trunk/reactos/cmake/CMakeMacros.cmake [iso-8859-1] (original)
> +++ trunk/reactos/cmake/CMakeMacros.cmake [iso-8859-1] Fri Feb 13 20:19:51 2015
> @@ -550,9 +550,14 @@
> message(STATUS "set_module_type : unparsed arguments ${__module_UNPARSED_ARGUMENTS}, module : ${MODULE}")
> endif()
>
> + # Add the module to the module group list, if it is defined
> + if(DEFINED CURRENT_MODULE_GROUP)
> + set_property(GLOBAL APPEND PROPERTY ${CURRENT_MODULE_GROUP}_MODULE_LIST "${MODULE}")
> + endif()
> +
> # Set subsystem. Also take this as an occasion
> # to error out if someone gave a non existing type
> - if((${TYPE} STREQUAL nativecui) OR (${TYPE} STREQUAL nativedll)
> + if((${TYPE} STREQUAL nativecui) OR (${TYPE} STREQUAL nativedll)
> OR (${TYPE} STREQUAL kernelmodedriver) OR (${TYPE} STREQUAL wdmdriver) OR (${TYPE} STREQUAL kerneldll))
> set(__subsystem native)
> elseif(${TYPE} STREQUAL win32cui)
> @@ -662,6 +667,21 @@
>
> # do compiler specific stuff
> set_module_type_toolchain(${MODULE} ${TYPE})
> +endfunction()
> +
> +function(start_module_group __name)
> + if(DEFINED CURRENT_MODULE_GROUP)
> + message(FATAL_ERROR "CURRENT_MODULE_GROUP is already set ('${CURRENT_MODULE_GROUP}')")
> + endif()
> + set(CURRENT_MODULE_GROUP rostests PARENT_SCOPE)
> +endfunction()
> +
should be
set(CURRENT_MODULE_GROUP ${__name} PARENT_SCOPE)
> +function(end_module_group)
> + get_property(__modulelist GLOBAL PROPERTY ${CURRENT_MODULE_GROUP}_MODULE_LIST)
> + add_custom_target(${CURRENT_MODULE_GROUP})
> + foreach(__module ${__modulelist})
> + add_dependencies(${CURRENT_MODULE_GROUP} ${__module})
> + endforeach()
> endfunction()
You should unset CURRENT_MODULE_GROUP somewhere aroud here.
>
> function(preprocess_file __in __out)
>
>
Hi,
I tried to do an SVN DCommit (git-svn) using TGIT. It used to work
flawlessly. I didn't change anything in my checkout, but suddenly it
doesn't work anymore and I get an error:
ERROR from SVN:
Authorization failed: Cannot negotiate authentication mechanism
I'd appeceate if someone could fix that.
Otherwise ... you'll not get the nice fixes I have in my repo.
I'm not going to move them over to SVN!
Thanks,
Timo
Hi all,
The long-announced Mumble Server is finally live! I've put up all
instructions on our Wiki: https://reactos.org/wiki/Mumble
I've resembled the structure of our IRC channels, meaning there is a
general "ReactOS" channel open for everybody and a channel "ReactOS-Dev"
for authenticated users only. There will also be international channels
for easier discussions in your native language. On top of this,
everybody can create temporary channels for short discussions.
You login with your ReactOS Development Account (aka SVN account) to
become authenticated. If you don't have such an account, choose an
arbitrary username and join the open channels.
I'm also looking for ReactOS members willing to serve as Mumble
administrators. Just like on IRC, this gives you additional rights, like
creating permanent channels or kicking and banning people. As this also
allows you to modify permissions, I don't like to give this status to
every authenticated user. So far, only Pierre and me are administrators
on Mumble. Volunteers are welcome!
I think it makes no sense to set up even more rules right now before
people have checked it out, so let's all give it a try and see how we
can work with it. In a next step, we could announce it on the website
and even use Mumble for the monthly meetings.
Cheers,
Colin
Hi all,
FOSDEM 2015 has ended some days ago. After five years of absence, the
ReactOS Project was finally represented with a stand again, maintained
by Aleksey Bragin, Giannis Adamopoulos, Pierre Schweitzer and me.
Turns out that FOSDEM has significantly grown over the recent years,
so our experiences really deserve a report - and should motivate
others to join us next time! :)
Our stand was born around 11 o'clock on Saturday when I arrived at the
AW building. After walking several rounds in the building and neither
finding known people nor a free table, it turned out that the coreboot
guys next to us had tried to expand their presence a bit ;)
Reclaiming our booth was a matter of a few words though, and soon we
had a sweet spot in the building with enough space for the upcoming
crowd. With Aleksey arriving shortly after that, along with several
flags and pins, our empire was finally alive and marked! Giannis and
Pierre arrived in the course of the day, right in time for the
afternoon rush hour with lots of people interested in ReactOS. Our
four person booth staff was really overwhelmed in these times. But
let's see, maybe we even got new developers through this :)
Our stock of 100 ReactOS demonstration CDs prepared by Hermès
Bélusca-Maito and me already ran out during the first day. Given our
experiences at other exhibitions and the general phase-out of CDs
these days, this came totally unexpected. But it wouldn't be the
ReactOS Project if we had no solution to the problem. On the same
Saturday evening, Pierre and me went out on a little adventure into
downtown Brussels in the hope of finding open stores that sell all we
needed: Blank CDs, labels and paper sleeves. And we were successful!
Returning with another 100 CDs, all disc drives of our laptops were
working that evening and the full other day, busy with burning new
ReactOS CDs. FOSDEM staff was kind enough to offer one of their
printers for getting the additional labels done. And our booth on
Sunday had partly turned into a CD manufacturing plant. With the
consequence of people sometimes grabbing the CD labels and trying to
read them before being presented with our real flyers :)
At the end of the conference, around 170 ReactOS CDs were in the wild.
Definitely much more than what we expected!
Of course, the culinary supply also didn't come too short in the
capital of Belgium. On Saturday evening, we met up with our friend
Nuno Brito, who had already reserved a nice restaurant for us.
Obviously, he had learned from last year! I well remember the evening,
when five hungry geeks walked for half an hour through the city,
trying to beat the unsolvable problem of finding the best restaurant
for all of us.
I've put up some of Aleksey's and my photos here:
https://www.flickr.com/photos/colinfinck/sets/72157650656130121/
Maybe more to come in the next few days!
I hope you're now all eager to join us next time to this wonderful event!
Cheers,
Colin
P.S.: Feel free to use this for a news article about FOSDEM on our website
On 01.02.2015 23:22, hbelusca(a)svn.reactos.org wrote:
> Author: hbelusca
> Date: Sun Feb 1 20:22:13 2015
> New Revision: 66144
>
> URL: http://svn.reactos.org/svn/reactos?rev=66144&view=rev
> Log:
> [FREELDR]
> - Fix date format in CHANGELOG (that uses that #$@! of US format)
> - Diverse code style changes (whitespace, extra braces, C++ to C-style comments, ...)
> ==============================================================================
> --- trunk/reactos/boot/freeldr/freeldr/CHANGELOG [iso-8859-1] (original)
> +++ trunk/reactos/boot/freeldr/freeldr/CHANGELOG [iso-8859-1] Sun Feb 1 20:22:13 2015
> @@ -1,4 +1,4 @@
> -Changes in v3.0+ (05/01/2015) (hbelusca)
> +Changes in v3.0+ (01/05/2015) (hbelusca)
Don't make our dear American contributors feel offended! :-)
Also there is ISO 8601 standard, you know, the big-endian style YYYY-MM-DD.
Regards,
Aleksey Bragin
Why are you moving a file out of the i386 folder and then add #ifdef
_M_IX86 around all the code???
Am 01.02.2015 um 18:49 schrieb hbelusca(a)svn.reactos.org:
> --- trunk/reactos/boot/freeldr/freeldr/arch/i386/custom.c [iso-8859-1] (original)
> +++ trunk/reactos/boot/freeldr/freeldr/custom.c [iso-8859-1] Sun Feb 1 17:49:11 2015
> @@ -19,6 +19,7 @@
>
> #include <freeldr.h>
>
> +#ifdef _M_IX86
>
> const CHAR BootDrivePrompt[] = "Enter the boot drive.\n\nExamples:\nfd0 - first floppy drive\nhd0 - first hard drive\nhd1 - second hard drive\ncd0 - first CD-ROM drive.\n\nBIOS drive numbers may also be used:\n0 - first floppy drive\n0x80 - first hard drive\n0x81 - second hard drive";
> const CHAR BootPartitionPrompt[] = "Enter the boot partition.\n\nEnter 0 for the active (bootable) partition.";
> @@ -448,3 +449,5 @@
> DiskStopFloppyMotor();
> Reboot();
> }
> +
> +#endif // _M_IX86
I hope you are not talking about the ... Right arm? ^^Am 01.02.2015 00:27 schrieb Hermès BÉLUSCA - MAÏTO <hermes.belusca(a)sfr.fr>:
>
> And after that, people go to #reactos by mistake to ask for Java-related questions... By the way, if one believes Wikipedia, this ReactJS was created in 2013: http://en.wikipedia.org/wiki/ReactJS
>
> <troll>Now… look carefully at the video around 0:40 up to 0:50… \o ^^ </troll>
>
>
>
> De : Ros-dev [mailto:ros-dev-bounces@reactos.org] De la part de Timo Kreuzer
> Envoyé : samedi 31 janvier 2015 22:50
> À : ReactOS Development List
> Objet : Re: [ros-dev] ReactOS trademark and logo violation
>
>
>
>
> I agree this is pretty nasty. Too much consonance for me to believe in accidental coincidence. ("ReactJS"? Srsly?)
>
> Are we going to sue them?
> Let's make them PAY! :D
>
>
> Am 31.01.2015 um 20:01 schrieb Alexander Rechitskiy:
>>
>> I clearly see that ReactOS trademark and logo are violated by Facebooks' ReactJS project
>>
>>
>>
>> http://www.youtube.com/watch?v=KVZ-P-ZI6W4
>>
>>
>>
>> --
>>
>> Best regards,
>> Alexander Rechitskiy
>>
>> +79286331900
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>>
>> Ros-dev mailing list
>>
>> Ros-dev(a)reactos.org
>>
>> http://www.reactos.org/mailman/listinfo/ros-dev
>
>
On 2014-12-15 22:07, hbelusca(a)svn.reactos.org wrote:
> +1 stub -noname ShellGetUserList ; (long long long)
For future reference, you might as well write this kind of thing as
1 stdcall -stub -noname ShellGetUserList(long long long)
Then spec2def will create a stub that uses the correct calling
convention and also prints out the arguments. Plus it's easier to
change to the real thing when someone implements it ;)
On 24/01/2015 01:15, hbelusca(a)svn.reactos.org wrote:
> ==============================================================================
> --- trunk/reactos/tools/cdmake/dirhash.c [iso-8859-1] (original)
> +++ trunk/reactos/tools/cdmake/dirhash.c [iso-8859-1] Sat Jan 24 00:15:08 2015
> @@ -138,12 +138,14 @@
> hashcode = djb_hash(targetnorm);
> de = calloc(1, sizeof(*de));
> de->parent = parent_de;
> + de->head = NULL;
> + de->child = NULL;
de has been allocated few lines upper with calloc.
head & child CANNOT be different from NULL.
This is non sense.
> @@ -170,6 +172,7 @@
> tf->target_name = strdup(chop_filename(target));
> }
>
> +#if 0
> static struct target_dir_entry *
> dir_hash_next_dir(struct target_dir_hash *dh, struct target_dir_traversal *t)
> {
> @@ -200,13 +203,13 @@
> return t->it;
> }
> }
> +#endif
Once again, this is trunk, not your working copy.
If you 0 out, please add a comment explaining it's just unused and not
buggy.
And actually, because it's trunk & unusued, it would be better just to
remove them. svn history can help finding them back if really needed.
> ==============================================================================
> --- trunk/reactos/tools/cdmake/dirhash.h [iso-8859-1] (original)
> +++ trunk/reactos/tools/cdmake/dirhash.h [iso-8859-1] Sat Jan 24 00:15:08 2015
> @@ -26,11 +26,13 @@
> struct target_dir_entry root;
> };
>
> +#if 0
> struct target_dir_traversal
> {
> struct target_dir_entry *it;
> int i;
> };
> +#endif
See comment above.
Cheers,
--
Pierre Schweitzer <pierre at reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
Hi all,
We're still preparing merchandising products for FOSDEM, and flyers are
probably most important here and still doable in time.
Can somebody please take the template from
https://svn.reactos.org/press-media/trunk/Events/2009%20-%20FOSDEM/Flyer/ and
alter it a bit to reflect current ReactOS state?
The best would be a flyer not including a certain ReactOS version
number, so that it is universally usable.
If you don't have InDesign to modify the file, just send me the modified
text here.
Thanks!
Colin
Dear all,
Just to make sure you read it: https://www.reactos.org/node/928
The SVN accounts are not affected.
Cheers,
--
Pierre Schweitzer <pierre at reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
Hi all !
Our build system is now able to build so-called hybrid cds . What are
they?
They are boot+live-cd all-in-one. In addition it is now possible with them
to load the live cd as a ramdisk. For that the contents of the bootcd is
placed into a bootcd/ directory, the contents of the livecd is placed into a
livecd/ directory, and the livecd image itself is also included (this is the
one that is used for livecd ramdisk). You can notice that makes a lot of
redundancy, but its the best thing I could do for now. The best way would
be to build some kind of flat HDD image that is used as the livecd ramdisk
(and never use the livecd with reads from the cd as we currently do ) .
Anyways.
So here it is !
In addition you can add extra custom files via the build process: just place
your files into a <your_ROS_source>/modules/hybridcd_extras/ directory (this
directory doesnt exist by default, its up to you to create and populate
it; I think its better to create a directory somewhere else and then add a
symlink hybridcd_extras to this directory, inside the modules/ directory,
as you already do with rosapps and rostests).
After that you configure a build, build the host-tools and then ninja
hybridcd !!
If then you need to change the custom files, do it and then reconfigure a
build with the cmake . command (when youre inside
<your_ROS_builddir>/reactos/ ) so that cmake can build again the list of
files to be included into the hybridcd.
See https://jira.reactos.org/browse/CORE-9069 for few more details.
Cheers,
Hermès.