Two foundation questions about socket

1
when I close socket(this Program is still running),I open this socket again,
why a exception happened?
this exception is :java.net.SocketException: socket closed
2
when I close socket,
I write:
write.close();
read.close();
cSocket.close();
this sequence is right?

1
when I close socket(this Program is still running),I
open this socket again,
why a exception happened?
this exception is :java.net.SocketException: socket closedIt's in the documentation
Socket.close()
2
when I close socket,
I write:
write.close();
read.close();
cSocket.close();
this sequence is right?Harmless, but not necessary.
The InputStream and OutputStream objects you get from Socket are just java internal constructs that use the socket filehandle. Not explicitly closing them does not cause a filehandle leak or anything like that. If you are paranoid you can doif (!Csocket.isClosed()) write.flush();
write = null;
read = null;
if (!cSocket.isClosed()) cSocket.close();
cSocket = null;

Similar Messages

  • This is a two part question about the creative 16gb Zen?

    8This is a two part question about the creative 6gb Zen? First of all, my battery life dropped very suddenly. One charge I was getting the full 30 hour battery life and the next it dropped to under ten. I tried using their tips on how to extend the battery life and I am still getting less than 0 hours of battery life. Why would it dropped more than half the amount between charges? I tried recharging it after it ran out and still the same thing. Any help?
    Second, (I am adding this question because it might relate to the first in some way) my mp3 player has been behaving strangely lately. For example, some artists sometimes have letters removed or all but the first end up being removed. But, if you reset the player, the artists go back to the full name. Also, my player has been taking a little longer than usual to turn on. It takes about 30 seconds to turn on instead of the 5-0 that I'm used to. Does anyone know why this might be happening?
    My Zen is only 4 months old, and I would be very upset it it's breaking already. Please, if you have any suggestions on how I can fix what's happening, post them. (Even if they?probably won't work, they're worth a try.)

    < This is an unusual one; never heard of it before. All I can suggest is cleaning up and perhaps reflashing the firmware. If it still is doing this, then get the thing exchanged pronto.
    My guess is that the problems are indeed closely related.

  • Two weird questions about BP maintenance......SOS!!!

    Two weird questions about BP maintenance......SOS!!!  
    The procedure is like this:
    These informtion will be import to SAP:
    BP information
    Address Information of this bp.
    Communication information of this BP
    1. check if the bp exist, if yes, update the BP.Then go to 3.if no go to 2
    2. Create a bp with the Address information and communication information
    3. Check if the Address information has been existed,if yes go to 4.else go to 5
    4.Update the address information with the communication information.
    5.Create a new address for this BP.
    And the problem I got is like this:
    1. After I changed the BP information, such as the surname,lastname etc.Use this BAPI
    "BAPI_BUPA_CENTRAL_CHANGE",I commited it.Then I call the BAPI "BAPI_BUPA_ADDRESS_CHANGE" to change the Address of this BP,however
    When I call the BAPI_BUPA_ADDRESS_CHANGE,it always told me the BP is locked by myself.............
    I am sure I do not open the BP in the other window.And I commit it after I call the BP Change BAPI.
    2. When I change the communication information ,it always told me BAPIADTEL you want to update does not exist in this system.....I am sure it does.
    Who can help me??
    Thanks very much

    Hi,
    1) Problem with the lock. To commit the changes after the BAPI_BUPA_CENTRAL_CHANGE API, instead of using commit work to commit, Use BAPI_TRANSACTION_COMMIT. This should solve the problem. This wil help in clearng the buffers of BP.
    2) in the BUPA_ADDRESS_CHANGE, for telephone there are two parameters to be filled IT_ADTEL, IT_ADTEL_X
    IT_ADTEL : Should be filled with the telephone details etc (Consnumber should not be filled for inserts. This should be filled only for updates).
    Corresponding IT_ADTEL_X structure has to be filled with update flag as 'I', 'U' or 'D' based on the task.
    Hope this helps. Let me know if some more info is needed.
    Regards,
    Sudheer.

  • Two little questions about ROWID

    Hello friends at www.oracle.com ,
    as we know, each time we insert a new line, Oracle creates an unique ROWID for that line. I have 2 questions about ROWID:
    1. Is there a way for me to obtain ROWID value at the moment of insertion, other than doing a SELECT rowid FROM (table) WHERE (primary key inserted values) to obtain the ROWID that was generated for that line?
    2. If, for any reason, we have a so big database that all ROWID possible combinations are over, how would Oracle handle such situation? I believe it's something quite rare to happen but, anyway, there's the possibility as Murphy Laws have taught us :)
    Thanks for all answers, and best regards,
    Franklin Gongalves Jr.

    1. The (quite new) DML RETURNING clause allwos this:
    Eg. insert into bonus values ('Bill', 'work',100, 4) returning rowid into :x
    This works in 8.1.7 and 9.0.1 I don't know about earlier.
    2. A rowid includes the physical address of the data. Before you used all the rowid's, the database wouldn't be able to hold any more data. The limit is big, but not infinite. If you hit it, try going to distributed databases using database links.

  • I have a question about socket

    I've got a socket question that haven't to work out for two days . If you know something about this question please give me a hand , Thank you .............
    ===================================================
    I want to write a program about PortMapping with Java.
    It means : put one port's data to another port .
    =============================
    Just like :
    There is a Tomcat Web Server listener on the 8080 port, and I want to make a socket that listener on the 9090 port. When the client use the Browse visit my web on 9090 port , this socket will be send this data stream from 9090 port to 8080 port and then the Tomcat Web Server process this data and return the result to client use the 9090 port .
    =============================
    (In order to let this program suit for every model (include c/s and b/s),so I think it must be use the byte[] stream )
    ====================================================
    BinaryPort.java
    package sailing;
    import java.io.*;
    import java.net.*;
    public class BinaryPort implements Runnable
    private ServerSocket listenerSocket;
    private Socket serverSocket;
    private Socket tomcatSocket;
    private Thread myThread;
    private DataInputStream in;
    private DataOutputStream out;
    private ByteArrayOutputStream swapStream;
    public BinaryPort()
    try
    System.out.println("Server is starting ..................");
    this.listenerSocket=new ServerSocket(9090);
    this.tomcatSocket=new Socket("127.0.0.1",8080);
    this.swapStream=new ByteArrayOutputStream();
    this.myThread=new Thread(this);
    this.myThread.start();
    catch(Exception e)
    System.out.println(e);
    public void run()
    while(true)
    try
    this.serverSocket=this.listenerSocket.accept();
    this.in=new DataInputStream(this.serverSocket.getInputStream());
    byte[] buf=new byte[100];
    int rc=0;
    while((rc=in.read(buf,0,buf.length))>0)
    this.swapStream.write(buf,0,rc);
    this.swapStream.flush();
    byte[] resBuf=swapStream.toByteArray();
    this.out=new DataOutputStream(this.tomcatSocket.getOutputStream());
    this.out.write(resBuf,0,resBuf.length);
    this.out.flush();
    //Get The Tomcat Web Server reBack Information
    this.in=new DataInputStream(this.tomcatSocket.getInputStream());
    byte[] buf2=new byte[100];
    int rc2=0;
    this.swapStream=null;
    while((rc2=in.read(buf2,0,buf2.length))>0)
    this.swapStream.write(buf2,0,rc2);
    this.swapStream.flush();
    rc2=0;
    byte[] resBuf2=swapStream.toByteArray();
    this.out=new DataOutputStream(this.serverSocket.getOutputStream());
    this.out.write(resBuf2,0,resBuf2.length);
    this.out.flush();
    this.myThread.sleep(1000);
    this.out.close();
    this.in.close();
    catch(Exception e)
    System.out.println(e);
    public static void main(String args[])
    new BinaryPort();
    ====================================================
    I found that it stop on the first "while" , and I don't know what is the reason .............

    Well , I've got it ~~~~~~~~~
    if the read method hasn't the another data , this method will be stoped . so ..............
    ===============================
    package sailing;
    import java.io.*;
    import java.net.*;
    public class ModifyBinaryPort
         private ServerSocket listenerSocket;
         private Socket serverSocket;
         public ModifyBinaryPort()
              try
                   System.out.println("Server is starting ..................");
                   this.listenerSocket=new ServerSocket(9633);
                   while(true)
                        try
                             this.serverSocket=this.listenerSocket.accept();
                             new MyThread(serverSocket).start();                    
                        catch(Exception e)
                             System.out.println(e);
              catch(Exception e)
                   System.out.println(e);
         public static void main(String args[])
              new ModifyBinaryPort();
         class MyThread extends Thread
              private Socket threadSocket;
              private Socket tomcatSocket;
              private Thread myThread;
              private DataInputStream in;
              private DataOutputStream out;
              public MyThread(Socket socket)
                   try
                        threadSocket=socket;
                        this.tomcatSocket=new Socket("127.0.0.1",9090);
                   catch(Exception e)
                        System.out.println(e);
              public void run()
                   try
                        //Read Thread
                        new ReadClientWriteTomcatThread(threadSocket,tomcatSocket).start();                    
                   catch(Exception e)
                             System.out.println(e);
         class ReadClientWriteTomcatThread extends Thread
              private DataInputStream read;
              private DataOutputStream write;
              private ByteArrayOutputStream swapStream;
              private Socket threadSocket;
              private Socket tomcatSocket;
              public ReadClientWriteTomcatThread(Socket threadSocketT,Socket tomcatSocketT)
                   try
                        threadSocket=threadSocketT;
                        tomcatSocket=tomcatSocketT;
                        read=new DataInputStream(threadSocket.getInputStream());
                        write=new DataOutputStream(tomcatSocket.getOutputStream());
                        this.swapStream=new ByteArrayOutputStream();
                   catch(Exception e)
                        System.out.println(e);
              public void run()
                   try
                        byte[] buf=new byte[100];
                        int rc=0;
                        while((rc=read.read(buf,0,buf.length))>0)
                             this.swapStream.write(buf,0,rc);
                             this.swapStream.flush();
                             if(rc<buf.length)
                                  break;
                             //System.out.println(rc);
                        byte[] resBuf=swapStream.toByteArray();
                        this.write.write(resBuf,0,resBuf.length);
                        this.write.flush();
                        //Reading the result from tomcat
                        new ReadTomcatWriteClientThread(threadSocket,tomcatSocket).start();
                   catch(Exception e)
                        System.out.println(e);
         class ReadTomcatWriteClientThread extends Thread
              private DataInputStream read;
              private DataOutputStream write;
              private ByteArrayOutputStream swapStream;
              public ReadTomcatWriteClientThread(Socket threadSocket,Socket tomcatSocket)
                   try
                        read=new DataInputStream(tomcatSocket.getInputStream());
                        write=new DataOutputStream(threadSocket.getOutputStream());
                        this.swapStream=new ByteArrayOutputStream();
                   catch(Exception e)
                        System.out.println(e);
              public void run()
                   try
                        byte[] buf2=new byte[100];
                        int rc2=0;
                        while((rc2=read.read(buf2,0,buf2.length))>0)
                             this.swapStream.write(buf2,0,rc2);
                             this.swapStream.flush();
                             if(rc2<buf2.length)
                                  break;
                        byte[] resBuf2=swapStream.toByteArray();
                        this.write=new DataOutputStream(write);
                        this.write.write(resBuf2,0,resBuf2.length);
                        this.write.flush();          
                        this.write.close();
                        this.read.close();
                   catch(Exception e)
                        System.out.println(e);
    }==================
    but it still has some little bug , I think I will work out soon .........
    Thanks for your help ejp .............

  • Two separate questions about the new s3 update

    Okay, so I just recently updated my s3 and so far I love everything about it, very nice job. Just two things bother me about it (not sure if the second one has to do with the update or not)
    Firstly, when you receive a text message it pops up on your lock screen with about the first sentence of the message. Now that's a big problem for me, I enjoy my privacy, so if I'm texting someone, get up and leave me phone wherever I am at the time, someone could pick up my phone and instantly see who I'm talking to and what about without any type of security (I have the pin lock). If there is a way to disable it I cannot find it anywhere, maybe I'm not looking hard enough, any help would be appreciated.
    Secondly, when sent a picture message instead of the message itself from the person sending it I get a message from "Me" or my own phone number saying "You've got a new PIX or FLIX message! To see it, visit *insert the vzw site here*. When going to the site it asks me to sign up and sync my phone to the cloud, which I do not want at all. Is this something with my service or the new update? It's quite infuriating to be honest. If either of these is true, is there a way to disable this feature and continue receiving pictures/video messages "normally"? PS: Picture/Video messaging worked all normal before I updated.
    Thank you so much for any insight or help you can provide.

    jakeskee wrote:
    Okay, so I just recently updated my s3 and so far I love everything about it, very nice job. Just two things bother me about it (not sure if the second one has to do with the update or not)
    Firstly, when you receive a text message it pops up on your lock screen with about the first sentence of the message. Now that's a big problem for me, I enjoy my privacy, so if I'm texting someone, get up and leave me phone wherever I am at the time, someone could pick up my phone and instantly see who I'm talking to and what about without any type of security (I have the pin lock). If there is a way to disable it I cannot find it anywhere, maybe I'm not looking hard enough, any help would be appreciated.
    Thank you so much for any insight or help you can provide.
    If you are using the stock Text messaging App. Open the app (while on the screen that shows all your people you have text, (not an individual person) click on your menu icon, the go to Settings> scroll down to >Notification settings>Notifications  The box should be unchecked, or if it is checked there is a "Preview message" option that you can uncheck. That will take it off of the lock screen. Hth.
    ***Sorry, did not see the link that Tikibar posted ref the first question. If you leave the "Notifications" box checked, you can customize the rest of your notifications...and just uncheck the "Preview message" box.

  • Approval in two days -- question about direct link to store

    My first iBook was approved in two days, but I have what is probably a simple question but I can not find the answer anywhere.
    I want to get a url to direct people to the book, how do I get this?

    I knew it would be simple, but very valuable info. Thanks KT.
    Here is is
    <a href="http://itunes.apple.com/us/book/beyond-ellis-d/id531625572?mt=11&uo=4" target="itunes_store">Beyond Ellis D - Donnell Alexander</a>

  • Two Fold question about MAIL on Mac OS X Tiger

    In the left hand margin, on email page,first item is IN, on my Mac, below that was my name, Eva Driscoll, below that my husband, Don Driscoll. Suddenly it was reversed with his name first. Neither of us changed this. No big deal, EXCEPT: Now when I forward anything in my name, Eva Driscoll, on the new "forwarded page" the sender appears as Don Driscoll. This means I have to remember to change it from Don to Eva, before I forward any e mail. Is there any way to fix this, so when I forward something I wrote, my name will stay in place as on the original email, instead of changing to Don? I have already looked at everything under Mail and Preferences, but nothing seems to be there to rectify what is happening. Thanks in advance to anyone who might help me with this problem.
    IMac Intel, new in May 2006   Mac OS X (10.4.7)  

    You can click and drag an account's Inbox mailbox to
    the top or bottom position in the mailboxes drawer
    under Inbox and this can also be done via the
    Accounts window at Mail > Preferences > Accounts.
    The address chosen when replying to or forwarding a
    received message is based on which email
    account/address the received message as addressed to
    - namely which account's Inbox mailbox the message
    was received by.
    Does this no longer happen?
    reply to Allan Sampson: I am sorry I do not understand your second sentence below. Example: I sent an email to Jan,from me, Eva Driscoll. Then I remembered something else I wanted to add, so I hit forward,added what I wanted to add. But on this forwarded page to Jan,it no longer says from Eva (as on the first email to Jan), now it says fromDon, and I have to change it to Eva.
    Where is the mailbox drawer under Inbox? I have On my Mac,then the two names which became reversed without our doing so.
    But my question is: why does it change from Eva to Don simply by forwarding the same email to the same person originally sent to?
    IMac Intel, new in May 2006   Mac OS X (10.4.7)  

  • Two basic questions about locks in Oracle.

    Hello,
    This is about 9i and onwards.
    I need to develop a comprehensive analysis of locks and waits and while doing so, following questions popped up.
    1) What is the difference between locks and waits?
    2) There is a DBA view called DBA_BLOCKERS. The standard Oracle documentation has only one line comment about this view i.e. "DBA_BLOCKER – Shows non-waiting sessions holding locks being waited-on by other sessions.
    My question is : Why would a non waiting session hold locks after all? I guess that automatically repeats the question #1 from above, What is the difference between "being waited on" v/s "holding locks with wait" and "holding locks without waits"?
    Thanks,
    R

    1) What is the difference between locks and waits? Lock - something you queue up to get and simply wait until it is available
    Waits - Waiting for a Specific event to happen before it can proceed.
    Re: Difference between a latch and a lock
    2) There is a DBA view called DBA_BLOCKERS. The standard Oracle documentation has only one line comment about this view i.e. "DBA_BLOCKER – Shows non->waiting sessions holding locks being waited-on by other sessions.DBA_BLOCKERS displays a session if it is not waiting for a locked object but is holding a lock on an object for which another session is waiting.
    HTH
    -Anantha

  • Two quick questions about the new iMacs...

    I work at a church, and this summer, we are breaking ground on a new building. I am hoping to get a new iMac to go in the new sound booth to run the Power Point. Two questions:
    Would a church get a special discount when buying from Apple?
    Did I hear somewhere that the new iMacs support an external monitor (a different output than the main monitor)?
    Thanks!
    Matthew

    <<Would a church get a special discount when buying from Apple?
    Did I hear somewhere that the new iMacs support an external monitor (a different output than the main monitor)?>>
    I know Apple offers education and government discounts... I'm not aware of discounts for church organizations.
    Yes, the iMac CD offers support for dual monitors, mirrored and extended.

  • Two quick questions about Library after moving beginning on a new computer

    Hi there,
    I just moved from Windows to Mac, meaning I had to move my iTunes library from the old PC to my new MBA.
    Just a couple of quick questions.
    1. When I started iTunes on my new Mac, in the preferences I directed the media folder to the folder with all my itunes music/podcasts etc, and then I imported the Library XML file.  Is this incorrect? Should I have imported a different file? Should I have used the itl file instead? 
    If so, should I delete the library and start again?  (if this is the case, please suggest the best way of doing this without affecting my media)
    - a kind of sub-question to this one:  some of the media files arent showing up in the iTunes library, but they are in the media folder on the ext HDD.  Is there a way I can find out which ones havent been recognized by iTunes?  Whats the best way of getting them in to my library?
    2. Pretty much half of my podcasts have not been loaded in the new iTunes.  The ones that havent were ones that I subscribed to on my iPhone, whereas the ones that show up in iTunes were ones I downloaded from iTunes.  When I connect my iPhone and sync it with iTunes, will those podcasts show up in iTunes?  Or is there a risk that they will be deleted from my iPhone?
    Cheers,

    The .xml is lacking some information such as ratings, date added, and play count.  Using the .itl includes this information but cannot be imported using the method you did.
    A complete library is everything in the iTunes folder.  By using the method you did you left the artwork behind in the artwork folder on the other machine.
    Selecting the media folder in preferences does not get iTunes to recognize the media.  All it does is tell iTunes to start storing new media in that location.
    Using the method I outlined nothing will be missed (with the exception of WMA) because you aren't rebuilding your library, you are using the one that already exists.
    You don't have to re-copy everything as long as you get the stuff you missed and re-assemble it all as it was before except not on the Mac.
    What are the iTunes library files? - http://support.apple.com/kb/HT1660
    More on iTunes library files and what they do - http://en.wikipedia.org/wiki/ITunes#Media_management
    What are all those iTunes files? - http://www.macworld.com/article/139974/2009/04/itunes_files.html
    Where are my iTunes files located? - http://support.apple.com/kb/ht1391

  • Simple question about sockets and streams - please answer it!

    Hi
    I have a server socket and a client socket. Both are up and runing. But I'm having problems to send a string from the client and read only the four first bytes on the server. Please read the code and some other comments below:
    socket client:
    DataOutputStream out =
    new DataOutputStream(socket.getOutputStream());
    // read from keyboard input
    BufferedReader myinput =
    new BufferedReader(new InputStreamReader(System.in));
    System.out.println("Type any 4 chars and [enter].");
    String any = myinput.readLine();
    out.writeBytes(any);
    out.flush();
    server socket:
    in = new DataInputStream(socket.getInputStream());
    byte[] id = new byte[4];
    in.read(id, 0, 4);
    System.out.print(new String(id));
    According to the code, it should read 4 bytes from the input stream (in.read(id, 0, 4)), but it displays only the first byte. For example, if I type "hello" on client, the serve should show "hell" but it shows just "h"
    Any ideias? Thanks!

    Hi,
    Check the Javadoc for 'in.read(id, 0, 4);' This reads up to 4 bytes and returns the number of bytes read. You need something along the lines of
    int count = 0;
    while (count < 4)
    count += in.read(id, count, 4-count);
    Roger

  • Two noob question about unstable and abs

    Hi for everyone, I'm a brand new Arch user, coming from 2 years of Gentoo (because of that long compile times - I don't have a cluster), and earlier some Suse.
    Got two little(?) problem:
    1. I would like to give 'abs' a try, but I'm behind our corporate firewall, so I can only access the web via https?@:80 and pop/smtp. How does one can sync abs like this?
    2. I uncommented the unstable branch in pacman.conf, like this:
    [extra]
    # Add your preferred servers here, they will be used first
    Include = /etc/pacman.d/extra
    Include = /etc/pacman.d/unstable
    And havinf the unstable mirrors like this:
    # The Unstable tree. Contains unstable or development versions of packages.
    [unstable]
    Server = http://archlinux.antesis.org/unstable/os/i686
    Server = ftp://archlinux.creativa.cl/unstable/os/i686
    Server = http://darkstar.ist.utl.pt/archlinux/unstable/os/i686
    Server = ftp://ftp.archlinux.de/pub/archlinux/unstable/os/i686
    Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/unstable/os/i68
    6
    Server = ftp://ftp.mpi-sb.mpg.de/pub/linux/mirror/ftp.ibiblio.org/pub/Linux/dist
    ributions/archlinux/unstable/os/i686
    Server = ftp://ftp.oit.unc.edu/pub/Linux/distributions/archlinux/unstable/os/i68
    6
    Server = ftp://ftp.parrswood.net/Mirrors/ftp.archlinux.org/unstable/os/i686
    Server = ftp://ftp.rez-gif.supelec.fr/pub/Linux/distrib/archlinux/unstable/os/i6
    86
    Server = ftp://ftp.tu-chemnitz.de/pub/linux/sunsite.unc-mirror/distributions/arc
    hlinux/unstable/os/i686
    Server = ftp://gd.tuwien.ac.at/opsys/linux/archlinux/unstable/os/i686
    Server = ftp://saule.mintis.lt/pub/linux/unstable/os/i686
    But when I
    pacman -Syu
    It shows like the unstable 'db' is only 3k 'big'. So I can not find openoffice2 which disturbes me a lot ...
    Thanks for any help.

    1. abs is just a bash script using cvsup IIRC. Take a look at it  (as well as /etc/abs/abs.conf). 
    2. modify pacman.conf like this :
    [extra]
    Include = /etc/pacman.d/extra
    [unstable]
    Include = /etc/pacman.d/unstable

  • Two part question about iPhone.

    Hi,
    Am I the only one that has been wondering and trying to figuer out how to use the itunes button on my iPhone. Evertime I try to buy a song using my iPhone itunes button I get a box popping up telling me you do not have a itunes acount. I beg to differ on that one. I have had one for along wile. I am using my own WIFI for this at home I was told from the Apple I could do this easy. If I have learned anything about tech nothing is as easy as people say it is. Do I have to be longed in from my computer first if this is true that really defeets the purpes of wileless Please can anyone help me with this problom.
    Also has anyone notest when there iPhone dimes dose the light kinda flicker or studer somewhat as it go's into dim mode. I have just started to notest this. Maby its always done this but if so I guess I have never noest it before now. Thanks.

    Computerguy,
    In order to use the iTunes WiFi Store on the iPhone you need to sync the account information to the iPhone as discussed in this article:
    http://docs.info.apple.com/article.html?artnum=306432
    Hope this helps,
    Nathan C.

  • Two quick questions about the project and timing panes

    1) Is there a hotkey for toggling between the project and timing panes?
    I can't seem to find this anywhere. I know F5 and F6 open and close them, but I'd like to be able to simply activate then without having to click on them. I'd like to be able to simply toggle between them and navigate using the arrow keys
    2) Is there a way to lock together the project and timing views so that when you open a group in one that group is also opened in the other?

    Sure, play/stop SHOULD work, but it doesn't always. And the up/down arrows only work to move layers in some instances. Try this. In a normal project, select a layer in either the layers pane or the canvas. Use the up/down arrows and you'll find Motion cycles between layers. Now close the layers pane (F5) and open it again. Now try to use the up/down arrows. It no longer cycles on my machine (and probably yours).
    In fact, Motion 4 broke a LOT of the keyboard shortcuts that used to work seemlessly in Motion 3.
    For example: I create a text object and start typing my text. About 30 percent of the time hitting the spacebar while typing text will cause playback to start. Pure annoyance.
    I used to be able to Hit HOME and END to go to the start and end of the project when the layer's pane is active, now I can't.
    About 25 percent of the time when I'm in the layers pane and I hit spacebar, instead of playing the project, I turn off the layer that was currently selected.
    Those are just a few of my pet peeves. There are definitely some real issues with shortcuts in Motion 4.
    Andy

Maybe you are looking for